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

📄 t_vtx_generic.c

📁 winNT技术操作系统,国外开放的原代码和LIUX一样
💻 C
📖 第 1 页 / 共 2 页
字号:
static void GLAPIENTRY _tnl_FogCoordfvEXT( const GLfloat *v )
{
   DISPATCH_ATTR1FV( _TNL_ATTRIB_FOG, v );
}

static void GLAPIENTRY _tnl_Color3f( GLfloat x, GLfloat y, GLfloat z )
{
   DISPATCH_ATTR3F( _TNL_ATTRIB_COLOR0, x, y, z );
}

static void GLAPIENTRY _tnl_Color3fv( const GLfloat *v )
{
   DISPATCH_ATTR3FV( _TNL_ATTRIB_COLOR0, v );
}

static void GLAPIENTRY _tnl_Color4f( GLfloat x, GLfloat y, GLfloat z, 
				     GLfloat w )
{
   DISPATCH_ATTR4F( _TNL_ATTRIB_COLOR0, x, y, z, w );
}

static void GLAPIENTRY _tnl_Color4fv( const GLfloat *v )
{
   DISPATCH_ATTR4FV( _TNL_ATTRIB_COLOR0, v );
}

static void GLAPIENTRY _tnl_SecondaryColor3fEXT( GLfloat x, GLfloat y, 
						 GLfloat z )
{
   DISPATCH_ATTR3F( _TNL_ATTRIB_COLOR1, x, y, z );
}

static void GLAPIENTRY _tnl_SecondaryColor3fvEXT( const GLfloat *v )
{
   DISPATCH_ATTR3FV( _TNL_ATTRIB_COLOR1, v );
}

static void GLAPIENTRY _tnl_MultiTexCoord1f( GLenum target, GLfloat x  )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR1F( attr, x );
}

static void GLAPIENTRY _tnl_MultiTexCoord1fv( GLenum target,
					      const GLfloat *v )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR1FV( attr, v );
}

static void GLAPIENTRY _tnl_MultiTexCoord2f( GLenum target, GLfloat x, 
					     GLfloat y )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR2F( attr, x, y );
}

static void GLAPIENTRY _tnl_MultiTexCoord2fv( GLenum target, 
					      const GLfloat *v )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR2FV( attr, v );
}

static void GLAPIENTRY _tnl_MultiTexCoord3f( GLenum target, GLfloat x, 
					     GLfloat y, GLfloat z)
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR3F( attr, x, y, z );
}

static void GLAPIENTRY _tnl_MultiTexCoord3fv( GLenum target, 
					      const GLfloat *v )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR3FV( attr, v );
}

static void GLAPIENTRY _tnl_MultiTexCoord4f( GLenum target, GLfloat x, 
					     GLfloat y, GLfloat z,
					     GLfloat w )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR4F( attr, x, y, z, w );
}

static void GLAPIENTRY _tnl_MultiTexCoord4fv( GLenum target, 
					      const GLfloat *v )
{
   GLuint attr = (target & 0x7) + _TNL_ATTRIB_TEX0;
   DISPATCH_ATTR4FV( attr, v );
}


static void GLAPIENTRY _tnl_VertexAttrib1fNV( GLuint index, GLfloat x )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR1F( index, x );
}

static void GLAPIENTRY _tnl_VertexAttrib1fvNV( GLuint index, 
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR1FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib2fNV( GLuint index, GLfloat x, 
					      GLfloat y )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR2F( index, x, y );
}

static void GLAPIENTRY _tnl_VertexAttrib2fvNV( GLuint index,
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR2FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib3fNV( GLuint index, GLfloat x,
					      GLfloat y, GLfloat z )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR3F( index, x, y, z );
}

static void GLAPIENTRY _tnl_VertexAttrib3fvNV( GLuint index,
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR3FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib4fNV( GLuint index, GLfloat x,
					      GLfloat y, GLfloat z,
					      GLfloat w )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR4F( index, x, y, z, w );
}

static void GLAPIENTRY _tnl_VertexAttrib4fvNV( GLuint index, 
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR4FV( index, v );
}


/*
 * XXX adjust index
 */

static void GLAPIENTRY _tnl_VertexAttrib1fARB( GLuint index, GLfloat x )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR1F( index, x );
}

static void GLAPIENTRY _tnl_VertexAttrib1fvARB( GLuint index, 
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR1FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib2fARB( GLuint index, GLfloat x, 
					      GLfloat y )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR2F( index, x, y );
}

static void GLAPIENTRY _tnl_VertexAttrib2fvARB( GLuint index,
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR2FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib3fARB( GLuint index, GLfloat x,
					      GLfloat y, GLfloat z )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR3F( index, x, y, z );
}

static void GLAPIENTRY _tnl_VertexAttrib3fvARB( GLuint index,
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR3FV( index, v );
}

static void GLAPIENTRY _tnl_VertexAttrib4fARB( GLuint index, GLfloat x,
					      GLfloat y, GLfloat z,
					      GLfloat w )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR4F( index, x, y, z, w );
}

static void GLAPIENTRY _tnl_VertexAttrib4fvARB( GLuint index, 
					       const GLfloat *v )
{
   if (index >= VERT_ATTRIB_MAX) index = ERROR_ATTRIB;
   DISPATCH_ATTR4FV( index, v );
}


/* Install the generic versions of the 2nd level dispatch
 * functions.  Some of these have a codegen alternative.
 */
void _tnl_generic_exec_vtxfmt_init( GLcontext *ctx )
{
   GLvertexformat *vfmt = &(TNL_CONTEXT(ctx)->exec_vtxfmt);

   vfmt->Color3f = _tnl_Color3f;
   vfmt->Color3fv = _tnl_Color3fv;
   vfmt->Color4f = _tnl_Color4f;
   vfmt->Color4fv = _tnl_Color4fv;
   vfmt->FogCoordfEXT = _tnl_FogCoordfEXT;
   vfmt->FogCoordfvEXT = _tnl_FogCoordfvEXT;
   vfmt->MultiTexCoord1fARB = _tnl_MultiTexCoord1f;
   vfmt->MultiTexCoord1fvARB = _tnl_MultiTexCoord1fv;
   vfmt->MultiTexCoord2fARB = _tnl_MultiTexCoord2f;
   vfmt->MultiTexCoord2fvARB = _tnl_MultiTexCoord2fv;
   vfmt->MultiTexCoord3fARB = _tnl_MultiTexCoord3f;
   vfmt->MultiTexCoord3fvARB = _tnl_MultiTexCoord3fv;
   vfmt->MultiTexCoord4fARB = _tnl_MultiTexCoord4f;
   vfmt->MultiTexCoord4fvARB = _tnl_MultiTexCoord4fv;
   vfmt->Normal3f = _tnl_Normal3f;
   vfmt->Normal3fv = _tnl_Normal3fv;
   vfmt->SecondaryColor3fEXT = _tnl_SecondaryColor3fEXT;
   vfmt->SecondaryColor3fvEXT = _tnl_SecondaryColor3fvEXT;
   vfmt->TexCoord1f = _tnl_TexCoord1f;
   vfmt->TexCoord1fv = _tnl_TexCoord1fv;
   vfmt->TexCoord2f = _tnl_TexCoord2f;
   vfmt->TexCoord2fv = _tnl_TexCoord2fv;
   vfmt->TexCoord3f = _tnl_TexCoord3f;
   vfmt->TexCoord3fv = _tnl_TexCoord3fv;
   vfmt->TexCoord4f = _tnl_TexCoord4f;
   vfmt->TexCoord4fv = _tnl_TexCoord4fv;
   vfmt->Vertex2f = _tnl_Vertex2f;
   vfmt->Vertex2fv = _tnl_Vertex2fv;
   vfmt->Vertex3f = _tnl_Vertex3f;
   vfmt->Vertex3fv = _tnl_Vertex3fv;
   vfmt->Vertex4f = _tnl_Vertex4f;
   vfmt->Vertex4fv = _tnl_Vertex4fv;
   vfmt->VertexAttrib1fNV = _tnl_VertexAttrib1fNV;
   vfmt->VertexAttrib1fvNV = _tnl_VertexAttrib1fvNV;
   vfmt->VertexAttrib2fNV = _tnl_VertexAttrib2fNV;
   vfmt->VertexAttrib2fvNV = _tnl_VertexAttrib2fvNV;
   vfmt->VertexAttrib3fNV = _tnl_VertexAttrib3fNV;
   vfmt->VertexAttrib3fvNV = _tnl_VertexAttrib3fvNV;
   vfmt->VertexAttrib4fNV = _tnl_VertexAttrib4fNV;
   vfmt->VertexAttrib4fvNV = _tnl_VertexAttrib4fvNV;
   vfmt->VertexAttrib1fARB = _tnl_VertexAttrib1fARB;
   vfmt->VertexAttrib1fvARB = _tnl_VertexAttrib1fvARB;
   vfmt->VertexAttrib2fARB = _tnl_VertexAttrib2fARB;
   vfmt->VertexAttrib2fvARB = _tnl_VertexAttrib2fvARB;
   vfmt->VertexAttrib3fARB = _tnl_VertexAttrib3fARB;
   vfmt->VertexAttrib3fvARB = _tnl_VertexAttrib3fvARB;
   vfmt->VertexAttrib4fARB = _tnl_VertexAttrib4fARB;
   vfmt->VertexAttrib4fvARB = _tnl_VertexAttrib4fvARB;
}

⌨️ 快捷键说明

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