CQuadTreeSceneNode

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
Paulo R. Oliveira

CQuadTreeSceneNode

Post by Paulo R. Oliveira »

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
etcaptor
Posts: 871
Joined: Fri Apr 09, 2004 10:32 pm
Location: Valhalla
Contact:

Post by etcaptor »

App crash, when use Irrlicht.dll ver o12.0 for Win32-gcc.
ImageImage
Site development -Rock and metal online
--- etcaptor.com ------freenetlife.com
Guest

Post by Guest »

- D3DX92ab.dll and D3DX81ab.dll is necessary to run this, or recompile with opengl.
Paulo R. Oliveira

Post by Paulo R. Oliveira »

Image
Guest

Post by Guest »

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...
FlyHigh
Posts: 111
Joined: Wed Mar 23, 2005 12:05 am

Post by FlyHigh »

Previous post was mine,
Guest

Post by Guest »

>>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).
CZestmyr
Posts: 72
Joined: Sat Feb 12, 2005 7:11 pm
Location: Czech Republic
Contact:

Post by CZestmyr »

Good work man! I may have a need for your class. I will definitely take a look at it.
Post Reply