My data

Hello all,
I am rewrighting a small engin that I did some time ago, any way the reason that I gave up on the first vertion was that I did not have a good idea about how the data should be stored and the project got out of hand, any way I am trying to come up with a really good data structure. My engin will manly be for outside seenes and scientific visulation (not nesearlyl games but it will have dinamic seens) This is my idea any input would be helpfull

Obj class
int IDNumber
int obj_type // 0 == Display List. 1 == vertex array
int Display_List_ID // 0 if vertex array uesed
/* all the vertex array stuff NULL if Display Lists */
GLubyte * vertex
… ect
float location[3]
float boundary_box[24]
int Texture ID

The then the World class would look somthing like this as far as data goes
class WORLD
CAMERA view1
list of objects // this is a just a simple list that holds all the objects in the world

varues other glodal data eg. textures

then a OCTREE that holds the world data( A tree node simple has an array of pointer to a object node)
Any way that is white I thought up last night if this is compleatly off the wall could you give me some ideas that might point me in the right direction.
Thanks for your time

A. Why using display list for rendering your object?
B. Try using an interleaved vertex array. More info in the red book.
C. Think what else do you need…

interleaved vertex array ??

whats that ? is it faster then display lists ?

Ok I do not want to start a holy war here about Display Lists vs. interleaved vertex arrays. But since I am writing this for the Geforce cards manly I thought that for the static objs the DLs would be the fastest? is this not true?

I laso dunno if DL are faster than VArrays, but I think that’s the “engine style” counts a lot.
If I need to modify the geometry of my vertexes an array is more usefull.

In my implementation I use DL for objects that has “no changing shape” and arrays for other objects that need some deformation for every frame.


I am writing my engine for the GeForce family too, and I am going to use Vertex Array. rIO is right. the architectural model of your engine is extremely important, and you can gain the maximum speed if you combine the power of both VA and DL.

Check the red book for more info about interleaved Vertex Array.