don't setup normals if lighting is off

This commit is contained in:
Chris Danford
2004-04-16 18:38:43 +00:00
parent 202c37ce44
commit 1a182e8f4e
+19 -7
View File
@@ -1141,14 +1141,26 @@ public:
glTexCoordPointer(2, GL_FLOAT, 0, NULL); glTexCoordPointer(2, GL_FLOAT, 0, NULL);
// AssertNoGLError(); // AssertNoGLError();
glEnableClientState(GL_NORMAL_ARRAY); // TRICKY: Don't bind and send normals if lighting is disabled. This
GLExt::glBindBufferARB( GL_ARRAY_BUFFER_ARB, m_nNormals ); // will save some effort transforming these values.
// AssertNoGLError(); GLboolean bLighting;
glNormalPointer(GL_FLOAT, 0, NULL); glGetBooleanv( GL_LIGHTING, &bLighting );
// AssertNoGLError(); if( bLighting )
{
glEnableClientState(GL_NORMAL_ARRAY);
GLExt::glBindBufferARB( GL_ARRAY_BUFFER_ARB, m_nNormals );
// AssertNoGLError();
glNormalPointer(GL_FLOAT, 0, NULL);
// AssertNoGLError();
GLExt::glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, m_nTriangles );
// AssertNoGLError();
}
else
{
glDisableClientState(GL_NORMAL_ARRAY);
}
GLExt::glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, m_nTriangles );
// AssertNoGLError();
#define BUFFER_OFFSET(o) ((char*)(o)) #define BUFFER_OFFSET(o) ((char*)(o))