Original Post
I'm researching vertex arrays and I'm almost ready to pounce. I've done my prep work and now I have a few questions before I start putting some code down. First, the only difference between glDrawRangeElements and glDrawElements is the specified range of indices, right? I'll only have one giant array with something like 800,000 values in it, would it still be worth while to use glDrawRangeElements? Second, am I still going to use the gl*Pointer functions if I'm going to be using glDraw*Elements? I'm only storying normal and vertex data, so if I do should I assemble them both into a big interleved array and then pass the stride and such to glVertex/NormalPointer and then call gl*Elements using the pointer returned from that? Also, I'm thinking about using the glInterleavedArrays function. The only problem is the normal data I have is per plane constructed of three vertices, not per vertex. Is there a way around this, such that I can specify a normal for the triangle and then the three vertices of the triangle, then the next normal and so on? The data is arranged as 3 floats for the normal and 9 floats for the vertex data. Do I specify that I want it to read in the 3 values for the normal, give a stride of 9 so it knows that's where the next one starts, and then have it read in the 9 values for the triangle vertex position? I'm a little confused on that part. Also, the pointer to the array that all the gl*Pointer functions and glInterLeavedArray take, can that just be a dynamically allocated array of type GLfloat of my own creation? It doesn't have to be static, right? I've got all my data stored in a giant dynamic array of floats, it would be real simple to switch those over to GLfloats and pass the pointer to that to the functions. Doable? And finally, would it be worth while to put my vertex arrays in a display list? Thanks in advance!