If I load my scene with no 3D models I get about 60 frames per second. If I load all my models my frame rate goes down to about 6 frames per second. This is when the camera has them all in view. Why when I point my camera upwards and away from all models does the frame rate only increase to about 13 frames per second. At this point there are no models in view of the camera at all and there is no sky at all.
Any ideas ? Someone has advised me its to do with backface culling , others have said automatic culling . ? ??? I am confused.
How can I get my camera to only render what it sees?
Irrlicht already does frustum view culling to avoid rendering invisible elements. But you still have some overhead for scene node handling.
Backface culling has nothing to do with that kind of visiblilty, it just renders only those faces which face the camera.
Just pointing the camera up won't necessarily cull those scene nodes that aren't in view. By default the culling method uses the view frustum bounding box which includes a lot of volume that isn't visible.
The other thing is that you may be getting a bad frame rate because of a large number of scene nodes. The more scene nodes, the slower things will be, even if none of those nodes are actually on screen.
vitek wrote:The more scene nodes, the slower things will be, even if none of those nodes are actually on screen.
Travis
Sorry abt hijacking this thread, but if I set all those out-of-screen ISceneNode.isVisible to false, then it won't matter even if I had a ton of them [off-screen], right?
Sketches of a rambling mind
Still a long way on learning Irrlicht...
are your models animated? if so, then that would account for some additional processing as well since animations are calculated even if an object is never rendered, as they should.