don't setup normals if lighting is off
This commit is contained in:
@@ -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))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user