I have noticed that when I use 2 texture units on my geforce and specify texture coordinates for both units using glTexCoordPointer, but then disable texture coordinates for the second unit and do not use them the performance is worse than in case where I call glTexCoordPointer only for the first tex unit. Now the problem comes when I draw 2 objects and the first one does use texture coordinates from both units and the second one uses only the first unit, because here the second object is being drawn slower than it would be if there were no first object. Now is there any way to “undo” glTexCoordPointer for the second(any) unit?
hmm. I guess I was not clear enough. i’ll illustrate the problem using only 1 unit. The problem is that code multitexturing is disabled)
glTexCoordPointer(..) // <- this is slowing things down, although disabled when calling glDraeElements
....
glDisableClientState(GL_TEXTURE_COORD_ARRAY)
glDrawArrays(..)
When drawing only 1 object I simply do not call glTexCoordPointer if I dont need it, but when drawing n objects with n vertex arrays (i.e. I call glVertexPointer and other arrays n times) then I cannot prevent calling glTexCoordPointer and then disabling texture coordinates array.