Scene management


I am very new to Panda 3D so please forgive me if this is common knowledge, but what kind of scene management does Panda use? I.e. BSP, Octrees, etc. I can’t find any examples of characters moving through a virtual world with rooms, quake-style. Thanks.

Panda uses a scene graph with hierarchical bounding volumes and view-frustum culling. But mostly you don’t need to know about that in order to use it. Just put all the geometry you want to render into the scene graph–including your characters and your environment–and let Panda figure out how to draw it.


So the only occlusion culling is via the frustrum? Wouldn’t this make it hard to do something like a FPS? Thanks for the info, I really appreciate it.

It depends on the nature of your FPS, of course. Frustum culling is basically similar to BSP culling. It’s true it doesn’t lend itself well to indoor scenes with lots of occluding walls, but in this kind of environment it’s usually pretty easy to do application-level culling: that is, if I’m in corridor A, my application can easily know it needs to hide everything in corridor B, one wall over. Such application-level algorithms generally produce the best possible culling, but it takes a little bit more effort to write them.

An occlusion-based culling system would make this more automatic and idiot-proof for the application developer: you wouldn’t have to write your own, if you were happy with the performance this system gave you out of the box. Such systems are planned for future releases of Panda, but cannot be relied upon in the current release.


Thanks for the info, very clear and easy to understand response.