AlphaState + scene graph nodes behaviour with renderstates

hello,



following scenegraph:





i want that the AlphaState from nodeX affects all nodes in the scene graph. i don’t understand exactly, when the renderstates are updated. at the moment initially only the nodes from the left side of the scene graph are affected. when i detach nodeY and re-attach it, than nodeX isn’t transparent any more.



i hope it will be a solution like “nodeSomething.updateRenderState()”!



thanks to give some thought to my problem!

RenderStates are applied to the Spatial (e.g. Node) which has the state assigned plus it's children. So nodeY should never receive the alpha state from nodeX. It possibly does due to a misconfiguration because you are missing proper alpha states for it or did not call updateRenderStates. So: either rootnode, nodeFixedSceneElements or nodeY needs to have the alpha state for nodeY to receive it. And after attaching a node to the scenegraph or changing it's render states you need to call updateRenderStates on it.

nodeX ist a spatial with a transparent texture. so the AlphaState was attached to nodeX. what i meant: the parts of nodeY BEHIND nodeX are visible through the transparent texture of nodeX (= correct). but all the other spatials and parts of spatials, which are BEHIND nodeX, are not visible, still nodeX has this AlphaState.


ok, didn't get this before, sorry



Is your nodeX in the transparent render queue? If not, the geoms which are not visible through the nodeX might get drawn after nodeX and thus are clipped by the zbuffer state.

Thanks!!! Setting the nodeX to

nodeX.setRenderQueueMode(Renderer.QUEUE_TRANSPARENT);

works as in my greatest dreams!  8) Thanks for your fast answers!