I am trying to put a quad as a minimap in rendering queue QUEUE_ORTHO, however the minimap disappears when no other 3d geometry is being displayed. Setting cull mode to CULL_NEVER seems to have no effect. Also setting model bounds seems to have no effect (this is probably useless for ortho queue, but i thought to try it anyway).
As a side note: my software mouse also disappears when there is no other geometry displayed.
Here is a test-case:
Turn the camera around, when the cube is not seen, the minimap disappears.
cull hints (like never, always, etc.) are for the engine to use as it traverses your scenegraph. I've bolded the key word here. This is how a scenegraph works. Setting something to cull never does not mean the engine will magically skip down the tree and pull out stuff that is set to cull never. If you want such behavior, either force all parents of the node to also be cull_never, or break these sub trees out into their own scenegraph trees and work with them individually.
Ok… the quad is attached directly to the rootNode. So when traversing the graph, it should look at children's of the rootNode, see that one is set to CULL_NEVER and draw it at some point.
Also, how do you explain that when having a bounding box on the quad, it is still being culled? And why having a bounding sphere on the quad causes it to be drawn?? That doesn't make any sense. Either way you put it, there is at least one bug there.
Looks like the rootNode itself is being culled. The engine looks for the bounding volume of the rootNode which in this case corresponds to the bounding volume of the box. So when not looking at the box, the rootNode's bounding volume is outside of the view and the rootNode is culled.
And the bounding volumes do not work well with geometry that uses QUEUE_ORTHO (and yeah, they shouldn't)…
Yeah… It's an interesting mental challenge to think how you would merge an ortho bounding and a 3d scene bounding… (for me anyhow XD) I'd rather just keep ortho and 3d separate anyhow. Easier for me to manage.