Z-Order on Gui Node

Empire Phoenix said:

z? why not y then it is as you would expect,a s y is in jme the depth..

Uhm, no. Actually, Y is the height, Z is the depth. You might be confusing with blender where Y is depth.
In ortho mode, XY specify the components position on the screen, and Z is pretty much unused. Thats why using Z for ordering might be a good idea.

z would be nice for the ortho mode to be ordered and easy to understand.

Momoko_Fan said:

Empire Phoenix said:

z? why not y then it is as you would expect,a s y is in jme the depth..

Uhm, no. Actually, Y is the height, Z is the depth. You might be confusing with blender where Y is depth.
In ortho mode, XY specify the components position on the screen, and Z is pretty much unused. Thats why using Z for ordering might be a good idea.


hm ok seems so...

Did this ever get fixed?  I'm trying to make colored background quads behind my BitmapText and the Quad is rendering in front of the text.  Even on TestBitmapText3D the quad is over the top of the text in the latest nightly.

meh, being a stickler about the order in which things are attached seems to work well enough.  Still seems like it'd be cool if Z order meant something.

Hi,

i wonder how z-ordering is implemented now, could someone tell me where the logic is implemented to understand it , cause i’m trying the z-ordering manipulation on nodes and geometries at runtime and still have some problems.

See the class TestZOrder

Thanks for the answer, it helped me to figure out the issue.

My problem was that i used

[java]

getLocalTranslation.addLocal(x,y,z)

[/java]



which doesn’t set the refresh flags, so the geometric state wasn’t updated.



Perhaps it isn’t a good idea still to have the addLocal methods on vectors cause i think the usage has changed since jme3 and worked in another way in jme2, so it’s usage will cause unexpected behavior in the majority of cases. At least a hint to use setLocalTranslation in the addLocal javadoc or public refresh methods could take advantage of the none object creation of addLocal.

You can use addLocal(float,float,float) as long as you setTransformsRefresh(). Alternatively you could call setLocalTranslation(getLocalTranslation().addLocal(x,y,z))



addLocal is a member of Vector3f while the localtranslation is a Transform variable owned by Spatial. There is an opportunity to add javadoc to the getters of the transform methods to reference setTransformsRefresh() if the object is modified directly.

Ok thanks, i searched for something like setTransformsRefresh, but i didn’t see it.