⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 api_noop.c

📁 mesa-6.5-minigui源码
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * Mesa 3-D graphics library * Version:  6.5 * * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */#include "glheader.h"#include "api_noop.h"#include "api_validate.h"#include "api_arrayelt.h"#include "context.h"#include "colormac.h"#include "light.h"#include "macros.h"#include "mtypes.h"#include "dlist.h"#include "dispatch.h"/* In states where certain vertex components are required for t&l or * rasterization, we still need to keep track of the current values. * These functions provide this service by keeping uptodate the * 'ctx->Current' struct for all data elements not included in the * currently enabled hardware vertex. * I.e. these functions would typically be used when outside of glBegin/End. */void GLAPIENTRY _mesa_noop_EdgeFlag( GLboolean b ){   GET_CURRENT_CONTEXT(ctx);   ctx->Current.EdgeFlag = b;}void GLAPIENTRY _mesa_noop_EdgeFlagv( const GLboolean *b ){   GET_CURRENT_CONTEXT(ctx);   ctx->Current.EdgeFlag = *b;}void GLAPIENTRY _mesa_noop_Indexf( GLfloat f ){   GET_CURRENT_CONTEXT(ctx);   ctx->Current.Index = f;}void GLAPIENTRY _mesa_noop_Indexfv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   ctx->Current.Index = *v;}void GLAPIENTRY _mesa_noop_FogCoordfEXT( GLfloat a ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_FOG];   dest[0] = a;   dest[1] = 0.0;   dest[2] = 0.0;   dest[3] = 1.0;}void GLAPIENTRY _mesa_noop_FogCoordfvEXT( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_FOG];   dest[0] = v[0];   dest[1] = 0.0;   dest[2] = 0.0;   dest[3] = 1.0;}void GLAPIENTRY _mesa_noop_Normal3f( GLfloat a, GLfloat b, GLfloat c ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_NORMAL];   dest[0] = a;   dest[1] = b;   dest[2] = c;   dest[3] = 1.0;}void GLAPIENTRY _mesa_noop_Normal3fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_NORMAL];   dest[0] = v[0];   dest[1] = v[1];   dest[2] = v[2];   dest[3] = 1.0;}void GLAPIENTRY _mesa_noop_Color4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];   color[0] = a;   color[1] = b;   color[2] = c;   color[3] = d;}void GLAPIENTRY _mesa_noop_Color4fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];   color[0] = v[0];   color[1] = v[1];   color[2] = v[2];   color[3] = v[3];}void GLAPIENTRY _mesa_noop_Color3f( GLfloat a, GLfloat b, GLfloat c ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];   color[0] = a;   color[1] = b;   color[2] = c;   color[3] = 1.0;}void GLAPIENTRY _mesa_noop_Color3fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];   color[0] = v[0];   color[1] = v[1];   color[2] = v[2];   color[3] = 1.0;}void GLAPIENTRY _mesa_noop_MultiTexCoord1fARB( GLenum target, GLfloat a ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = a;      dest[1] = 0;      dest[2] = 0;      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord1fvARB( GLenum target, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = v[0];      dest[1] = 0;      dest[2] = 0;      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord2fARB( GLenum target, GLfloat a, GLfloat b ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = a;      dest[1] = b;      dest[2] = 0;      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord2fvARB( GLenum target, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = v[0];      dest[1] = v[1];      dest[2] = 0;      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord3fARB( GLenum target, GLfloat a, GLfloat b, GLfloat c){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = a;      dest[1] = b;      dest[2] = c;      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord3fvARB( GLenum target, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = v[0];      dest[1] = v[1];      dest[2] = v[2];      dest[3] = 1;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord4fARB( GLenum target, GLfloat a, GLfloat b,			      GLfloat c, GLfloat d ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = a;      dest[1] = b;      dest[2] = c;      dest[3] = d;   }}void GLAPIENTRY _mesa_noop_MultiTexCoord4fvARB( GLenum target, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLuint unit = target - GL_TEXTURE0_ARB;   /* unit is unsigned -- cannot be less than zero.    */   if (unit < MAX_TEXTURE_COORD_UNITS)   {      GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0 + unit];      dest[0] = v[0];      dest[1] = v[1];      dest[2] = v[2];      dest[3] = v[3];   }}void GLAPIENTRY _mesa_noop_SecondaryColor3fEXT( GLfloat a, GLfloat b, GLfloat c ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR1];   color[0] = a;   color[1] = b;   color[2] = c;   color[3] = 1.0;}void GLAPIENTRY _mesa_noop_SecondaryColor3fvEXT( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR1];   color[0] = v[0];   color[1] = v[1];   color[2] = v[2];   color[3] = 1.0;}void GLAPIENTRY _mesa_noop_TexCoord1f( GLfloat a ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = a;   dest[1] = 0;   dest[2] = 0;   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord1fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = v[0];   dest[1] = 0;   dest[2] = 0;   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord2f( GLfloat a, GLfloat b ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = a;   dest[1] = b;   dest[2] = 0;   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord2fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = v[0];   dest[1] = v[1];   dest[2] = 0;   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord3f( GLfloat a, GLfloat b, GLfloat c ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = a;   dest[1] = b;   dest[2] = c;   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord3fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = v[0];   dest[1] = v[1];   dest[2] = v[2];   dest[3] = 1;}void GLAPIENTRY _mesa_noop_TexCoord4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = a;   dest[1] = b;   dest[2] = c;   dest[3] = d;}void GLAPIENTRY _mesa_noop_TexCoord4fv( const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];   dest[0] = v[0];   dest[1] = v[1];   dest[2] = v[2];   dest[3] = v[3];}void GLAPIENTRY _mesa_noop_VertexAttrib1fNV( GLuint index, GLfloat x ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], x, 0, 0, 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib1fNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib1fvNV( GLuint index, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], v[0], 0, 0, 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib1fvNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], x, y, 0, 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib2fNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib2fvNV( GLuint index, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], 0, 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib2fvNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib3fNV( GLuint index, GLfloat x,                                  GLfloat y, GLfloat z ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], x, y, z, 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib3fNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib3fvNV( GLuint index, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], v[2], 1);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib3fvNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib4fNV( GLuint index, GLfloat x,                                  GLfloat y, GLfloat z, GLfloat w ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], x, y, z, w);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib4fNV" );}void GLAPIENTRY _mesa_noop_VertexAttrib4fvNV( GLuint index, const GLfloat *v ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], v[2], v[3]);   }   else      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib4fvNV" );}/* * XXX Un-alias attribs here */void GLAPIENTRY _mesa_noop_VertexAttrib1fARB( GLuint index, GLfloat x ){   GET_CURRENT_CONTEXT(ctx);   if (index < VERT_ATTRIB_MAX) {      ASSIGN_4V(ctx->Current.Attrib[index], x, 0, 0, 1);   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -