Display Lists

I’m trying to figure out more information about Display Lists… I’ve been reading the RedBook and things are still not perfectly clear…

I was wondering If it would be wise to use DisplayLists for all objects in a game such as boxes, trees… (particles?))

And if so will it allow you to change camera views world lighting, etc and still render the Lists correctly??

also if you can do that… what about objects from 3ds max … with animation… would that be possible?

Any info would be nice


Sure you can use display lists for these things. However you will pay a price in that you will lose some flexibility in the effects you can use, e.g. animated textures will not be possible, fragment color manipulation will not be possible. But normal lighting and static textures are quite doable. For animated models, you just use an array of display lists, you won’t get interpolated animation this way however. If you want to use animated textures and interpolated model animation, I’d use vertex arrays. And if there is going to be a good deal of multipass rendering, I’d use compiled vertex arrays if available.

[This message has been edited by DFrey (edited 07-27-2000).]

Use display lists for any group of calls which you’re going to use repeatedly with the same parameters. So boxes and trees, yes. Particles and animated 3ds models, no, because vertex positions are going to be changing all the time.

You can certainly change camera settings, lighting etc. OpenGL renders a display list using the current state at the point where you call the list, not the point where you compiled it.

When to use display lists:

  • Undeformable geometry (you have to use TexGen and TexEnv or combiners for quality lighting/reflection effects)
  • Deformable geometry using vertex blending with vertex blend weights (character animations)

When to NOT use display lists

  • Dynamic geometry (particle systems)
  • Deformable geometry (water surfaces, character animations)