Multiple 3d layers

OK I am working on a game, and I can easily manage to make multiple internal windows which are 2d in front of a 3d scene.

But I am looking to make a 3d scene, with a 2d gui in front of that using the ortho queue.  In front of the gui I want to have windows openable which include 3d content within them.  Does anyone know a good way to do this.

So is there a good method to setup multiple seperate renderers within a single program.  Or distinguish rendering passes of the render queue based off of window order.

I have done something similar, only I render a 2D scene using ortho quads as a background, then the main 3D scene and finally an ortho HUD. To do this I set up a basic render pass manager:

passManager = new BasicPassManager();

Create a seperate RenderPass object for each scene element and attach to the pass, then attach each RenderPass object to the basic render pass manager.

RenderPass passOne = new RenderPass();
passOne.add(new Node("2D Background"));

RenderPass passTwo= new RenderPass();
passTwo.add(new Node("3D Stuff"));
RenderPass passThree= new RenderPass();
passThree.add(new Node("HUD"));

Then during the render() method I do:


Hope that Helps. You could attach (after your HUD) another pass to render those popup 3D objects.

Hmm that works and looks to be exactly what I was looking for, but theres one problem.

Before while rendering the scene and HUD I had about 186 fps, after adding in the renderpass, even only using one pass and only rendering the same scene, It dropped to 6-8 fps.  If I added another pass that added 1 untextured quad to render, then it drops to about 3 fps. 

Oh well, hopefully I can find a fix for that, Either way thanks for your help that was what I was looking for.

I suggest then that there must be something seriously dodgy going on in your code. Using the same code (3 render passes) I achieve around 200 fps for my current scene.

BUI can display Spatials in the UI: BGeomView