Its a custom scenenode i wrote to perform culling purposes on my project... Its not all finished. It needs a better addNode() method. In this test im showing a forest of 10.000 billboards at 150~200 fps with my GForce2. Im using DevCpp, directx9 and irrlicht 0.12 to test it.
The idea is to create sub-scenenodes like a tree, test their boundingboxes intersection with frustrum and hide the subnodes whos boundingbox isnt in the view. Its a lot faster than trying to hide each node.
I guess this node can be used with billboards or litle (detail) meshes.
http://geocities.yahoo.com.br/paulo_cmv ... neNode.zip
CQuadTreeSceneNode
>>I haven't read the source code for the irrlicht octree, but surely if >>everything is on the same level that there will only be 4 child nodes >>when the octree partitions it, and not 8. Which by definition would make >>it a quadtree anyway...
Its not the same thing...
My scenenode is designed to classify and cull other scenenodes (in screenshot you see billboards).
To use a OctreeSceneNode to produce a 10.000 trees forest, youll need to model a very large (single) model with (a waste of memory). With quadtree youll need only one tree model. Create a scenenode everywhere you need and then add it to quadtree. Im using it specially with billboards (you cannot use octreescenenode with billboards). I not tested it very well, but in teory you can use it to cull all detail scenenodes in your project, also if nodes have built-in culling enabled (its not the case for billboards).
Its not the same thing...
My scenenode is designed to classify and cull other scenenodes (in screenshot you see billboards).
To use a OctreeSceneNode to produce a 10.000 trees forest, youll need to model a very large (single) model with (a waste of memory). With quadtree youll need only one tree model. Create a scenenode everywhere you need and then add it to quadtree. Im using it specially with billboards (you cannot use octreescenenode with billboards). I not tested it very well, but in teory you can use it to cull all detail scenenodes in your project, also if nodes have built-in culling enabled (its not the case for billboards).