void __glXDisp_MultiTexCoord4fvARB(GLbyte *pc) { glMultiTexCoord4fvARB( *(GLenum *)(pc + 0), (GLfloat *)(pc + 4) ); }
void RAS_StorageIM::TexCoord(const RAS_TexVert &tv) { int unit; if (GLEW_ARB_multitexture) { for (unit = 0; unit < *m_texco_num; unit++) { switch (m_texco[unit]) { case RAS_IRasterizer::RAS_TEXCO_ORCO: case RAS_IRasterizer::RAS_TEXCO_GLOB: glMultiTexCoord3fvARB(GL_TEXTURE0_ARB + unit, tv.getXYZ()); break; case RAS_IRasterizer::RAS_TEXCO_UV: glMultiTexCoord2fvARB(GL_TEXTURE0_ARB + unit, tv.getUV(unit)); break; case RAS_IRasterizer::RAS_TEXCO_NORM: glMultiTexCoord3fvARB(GL_TEXTURE0_ARB + unit, tv.getNormal()); break; case RAS_IRasterizer::RAS_TEXTANGENT: glMultiTexCoord4fvARB(GL_TEXTURE0_ARB + unit, tv.getTangent()); break; default: break; } } } if (GLEW_ARB_vertex_program) { for (unit = 0; unit < *m_attrib_num; unit++) { switch (m_attrib[unit]) { case RAS_IRasterizer::RAS_TEXCO_ORCO: case RAS_IRasterizer::RAS_TEXCO_GLOB: glVertexAttrib3fvARB(unit, tv.getXYZ()); break; case RAS_IRasterizer::RAS_TEXCO_UV: glVertexAttrib2fvARB(unit, tv.getUV(m_attrib_layer[unit])); break; case RAS_IRasterizer::RAS_TEXCO_NORM: glVertexAttrib3fvARB(unit, tv.getNormal()); break; case RAS_IRasterizer::RAS_TEXTANGENT: glVertexAttrib4fvARB(unit, tv.getTangent()); break; case RAS_IRasterizer::RAS_TEXCO_VCOL: glVertexAttrib4ubvARB(unit, tv.getRGBA()); break; default: break; } } } }
static void im_render () { GLint i; glBegin (GL_POINTS); for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++) { struct ATTRIB_DATA *att = &attribs[i]; switch (att->dispatch) { case C: glColor4fv (att->data); break; case S: glSecondaryColor3fvEXT (att->data); break; case N: glNormal3fv (att->data); break; case V: glVertex4fv (att->data); break; case T: assert (att->index >= 0 && att->index < 8); glMultiTexCoord4fvARB (GL_TEXTURE0_ARB + att->index, att->data); break; case F: glFogCoordfvEXT (att->data); break; case A: assert (att->index > 0 && att->index < 16); glVertexAttrib4fvARB (att->index, att->data); break; default: assert (0); } } glEnd (); }
void __stdcall glMultiTexCoord4fv(GLenum target, const GLfloat *v ) { if (!ARB_multitexture) return; glMultiTexCoord4fvARB(target, v); }