Michael Chase’s Weblog

March 21, 2008

Automatic Display Lists

Filed under: Uncategorized — mbrazell @ 3:54 pm
Tags: , , ,

Replicators turned out to be a bust… so I decided to make display lists in the Scene Graph automatic. With automatic display lists, every existing and future demo can take advantage of the performance boosts from display lists with no changes to the XML. I’ve just completed the implementation, and am ready to unit test. Once all the kinks (if any!) are worked out, every static model in any scene will use display lists. I’m counting on a home run this time.

March 7, 2008

Waiting for a BIG compile to complete…

Filed under: Uncategorized — mbrazell @ 1:39 pm
Tags: , ,

I changed something in the basest of base classes, so I’m waiting for the whole project to compile… probably another 5 minutes.

I recently added display list support to the graphics engine of Bridgeworks (http://dev.bridgeborn.com/BwSchools). Currently, Bridgeworks supports OpenGL 1.1 and Direct3D 8.1. OpenGL already had display lists built in, so that was easy. I wrote my own version of display lists for the Direct3D component. The frame rate improvements were well beyond my expectations. I knew there would be some improvement, but I didn’t realize to what extent. On our test scene, which has many duplicated objects and can benefit from display lists, enabling the display lists brought the frame rate from 2 fps to around 33 fps… amazing. This will have positive implications for any scene that utilizes static or duplicated objects, like graphs for instance.

I want to further optimize the D3D display list support, by removing Get* methods from the display lists, as these are not necessary for rendering once the initial display list record has been made.

I’m currently working on what I call a “Replicator” node for the SceneGraph library. Tim, the CEO of Bridgeborn, and my personal friend who endlessly harasses me with his dry wit (I love it), said it sounded like something Arnold Schwarzenegger (had to look up that spelling) would say. The replicators purpose is to replicate prototypes of a model so that the model doesn’t have to be stored in the scene graph multiple times… another optimization that I’m hoping will prove beneficial. We’ll see.

Well the compilation has just finished, so I have too.

Blog at WordPress.com.