Hı,
I have a problem in converting the axis of Java3d so that all the x axis should be -x. For this purpose, I am adding all the nodes under a TransformGroup node and scale the transform group with (-1,1,1). I was hoping that this would cause all the x parts of the positions to be multiplied by -1 and so that axis problem would be fixed. However problem is that all data seems to be reversed. For exampleI I can only see the terrain from bottom. The first impression was I have to multiple y axis with -1 too with the scale vector (-1,-1,1), but it does not affect how I see the terrain. It seems that normals are corrupted by the scaling matrix too. Is there a way to change the axis of java3d, or what is the problem with my solution.
Thanks for the helps.
What you are trying to do AIUI is chnage the handedness of the coordinate system.
Nope, you can’t do that. Java3D handness is fixed (anything else would be a godawful mess.)
What you need to do is convert your data on input to the proper handedness if it doesnt match.
I was able to understand the problem. Problem was when scaling an object (terrain, 3d model etc) with Vector3f(-1,1,1), vertices become clockwise to counter clockwise so that their normals become weird. To fix that I added Polygon attributes to all of them and enable CULL_FRONT from CULL_BACK. That fixed the problem. Thank you for responding.