I want to 3d render several “layers” of things on top of each other (for example, game, menu, GUI) such that the bottom layers do not occlude the upper layers. In OpenGL I would simply render the bottom layers first, clearing the depth buffer after each one, but it seems I do not have that level of control in Java3D.
I was thinking of rendering each layer seperately onto its own image, then use those images as textures, rendering them on top of each other, but I’m not sure how practical this is. I looked around and observed that this is a common way to render 2D GUIs, though since I would be rendering these layers in 3D, it would improve speed greatly if there were a way to render directly to a texture, without having to pass the image through software.
Also, when I render those layers, is there a way of making sure that the background (i.e. where no objects are rendered, or even where semi-transparent objects are rendered) is transparent, so that the layers show through to each other?