Exemplo n.º 1
0
void GeomRenderer::sendTexCoord(GLuint texCoordIndex)
{
    assert(texCoordData.size >= 1 && texCoordData.size <= 4);

    switch(texCoordData.type)
    {
        case GL_SHORT:
            if (texCoordData.size == 1) glTexCoord1sv((const GLshort*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 2) glTexCoord2sv((const GLshort*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 3) glTexCoord3sv((const GLshort*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 4) glTexCoord4sv((const GLshort*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            break;

        case GL_INT:
            if (texCoordData.size == 1) glTexCoord1iv((const GLint*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 2) glTexCoord2iv((const GLint*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 3) glTexCoord3iv((const GLint*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 4) glTexCoord4iv((const GLint*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            break;

        case GL_FLOAT:
            if (texCoordData.size == 1) glTexCoord1fv((const GLfloat*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 2) glTexCoord2fv((const GLfloat*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 3) glTexCoord3fv((const GLfloat*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 4) glTexCoord4fv((const GLfloat*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            break;

        case GL_DOUBLE:
            if (texCoordData.size == 1) glTexCoord1dv((const GLdouble*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 2) glTexCoord2dv((const GLdouble*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 3) glTexCoord3dv((const GLdouble*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            if (texCoordData.size == 4) glTexCoord4dv((const GLdouble*)((const char*)texCoordData.pointer + texCoordIndex*texCoordData.stride));
            break;
    }
}
Exemplo n.º 2
0
Arquivo: g_render.c Projeto: aosm/X11
void __glXDisp_TexCoord3dv(GLbyte *pc)
{

#ifdef __GLX_ALIGN64
	if ((unsigned long)(pc) & 7) {
	    __GLX_MEM_COPY(pc-4, pc, 24);
	    pc -= 4;
	}
#endif
	glTexCoord3dv( 
		(GLdouble *)(pc + 0)
	);
}
Exemplo n.º 3
0
void CALLBACK vertexCallback(GLvoid *vertexData, void *data)
{
    GLdouble       *v         = (GLdouble       *) vertexData;

    DVRRenderSlice *sliceData = (DVRRenderSlice *) data; 

    if(sliceData->directRender)
    {
        switch(sliceData->orientation)
        {
            case DVRRenderSlice::UNDEFINED: // 3D texture
                glTexCoord3dv(&v[3]);
                break;

            case DVRRenderSlice::XY:
                glTexCoord2d(v[3], v[4]);
                break;

            case DVRRenderSlice::XZ:
                glTexCoord2d(v[3], v[5]);
            break;

            case DVRRenderSlice::YZ:
                glTexCoord2d(v[4], v[5]);
                break;

            default:
                break;
        }
        glVertex3dv(v);
    }
    else
    {
        sliceData->back()->vertices.push_back(v);
    }
}
Exemplo n.º 4
0
void texture3(const Point &p)
{
    glTexCoord3dv(p.v);
}
Exemplo n.º 5
0
template< > inline void glTexCoord3v< Vector3r >	( const Vector3r v )		{	glTexCoord3dv((double*)&v);	};
Exemplo n.º 6
0
/////////////////////////////////////////////////////////
// Render
//
void GEMglTexCoord3dv :: render(GemState *state) {
	glTexCoord3dv (v);
}
Exemplo n.º 7
0
inline void glTexCoord3v( const GLdouble * v )	{ glTexCoord3dv( v ); }
Exemplo n.º 8
0
M(void, glTexCoord3dv, jobject v) {
	glTexCoord3dv(BUFF(GLdouble, v));
}