コード例 #1
0
ファイル: g_render.c プロジェクト: aosm/X11
void __glXDisp_MultiTexCoord4fvARB(GLbyte *pc)
{
	glMultiTexCoord4fvARB( 
		*(GLenum   *)(pc + 0),
		(GLfloat  *)(pc + 4)
	);
}
コード例 #2
0
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;
			}
		}
	}

}
コード例 #3
0
ファイル: vstest.c プロジェクト: astrofimov/vgallium
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 ();
}
コード例 #4
0
ファイル: multitexture.cpp プロジェクト: ByteHazard/glextdll
void __stdcall glMultiTexCoord4fv(GLenum target, const GLfloat *v )
{
 if (!ARB_multitexture) return;
 glMultiTexCoord4fvARB(target, v);
}