Some questions regarding scene-management

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
mreuter
Posts: 4
Joined: Tue Sep 21, 2004 8:28 am
Location: Düsseldorf
Contact:

Some questions regarding scene-management

Post by mreuter »

Hi,

as far as I can see, THE scene is managed by the SceneManager. Is it right, that there can only be one scene?

The rendering loop always looks like

Code: Select all

	driver->beginScene(...);

	smgr->drawAll();
	guienv->drawAll();

	driver->endScene();
wouldn't it be better to have a GUIElement, that renders a given scene, reducing the rendering loop to

Code: Select all

	driver->beginScene(...);

	guienv->drawAll();

	driver->endScene();
and allowing multiple windows containing different scenes? Has anybody already written any kind of extension that does it?

Maybe the easiest way would be, to add a draw(ISceneNode* drawRoot)-method to the ISceneManager-Interface and save the camera and root-node that should be used with the new GUIElement. Or is there a good solution to achieve this goal without modifying/extending the irrlicht interfaces?

Regards,
Marc
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Post by Electron »

I wouldn't make it a gui element. If you wanted to, it would be possible to modify the scene manager to have multiple root scen nodes. Of course, this would introduce the complexity of specifiying which scene a node was in. A node that you would other wise pass 0 as the parent parameter you would now need to pass something like smgr->getRooSceneNode(sceneIndex)
You do a lot of programming? Really? I try to get some in, but the debugging keeps me pretty busy.

Crucible of Stars
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

One scene manager per device but you can load as many devices as you want. I created a situation where I had an infinate amount of devices active at once because I screwed up a setting ( when I make the next release you will see what I mean :) )
Post Reply