Any time you render geometry using glBegin and glEnd, you're using something called "immediate mode." It's slow and clumsy on the GPU, but gives you control over just about everything.
When you use glDrawElements you're using vertex arrays. Normals are just a part of the "state" that makes up the OpenGL state machine, so when using immediate mode, you can change the normal state whenever and as frequently (or infrequently) as you want. Vertex arrays, however, work on a per-element basis, so you need to specify one normal/color/texcoord (depending on what clientstate you have enabled) for every vertex.
Problems with glDrawElements()
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement