VBO and Display List

Ardor3D's next release is coming up soon and among the last few tasks we've been brushing up is proper Vertex Buffer Object and Display List support. For VBO, this new release will see the removal of the old (unsupported) VBOInfo class and instead will offer an inherited flag for signaling whether a particular branch should use Arrays, VBO (one per buffer) or interleaved VBO (one buffer containing vertices, normals, etc.) VBO ids are now tracked per GL context (so are textures now, yay!) so you can take a single scenegraph and render it in multiple canvases, even if those canvases have different GL contexts.

Display Lists are a different beast. We've found in the past that display lists, especially if used naively, can often be slower than just using VBO. As you might know, we long ago chopped off jME's lock() methods which generated a display list of mesh data (and possibly transforms) per leaf of your scenegraph. In 0.5, Ardor3D will have a tool called SceneCompiler that enables the programmer to do things such as compile an entire branch of your scenegraph (states and all) to a single display list. This tool will likely grow beyond just making display lists to also include various other things such as similar mesh combining.

Note that we're still making several tweaks (you can follow along in our hintdev branch and make comments in the forum) and of course as people start using 0.5 I imagine it will evolve quite a bit more.

Keep watching this space for the release announcement (expected within a week or two.)

1 comment:

Paul said...

Nice news! It's getting better and better! :)