Re: Java 3D
Posted by Penny on Jan 29, 2013; 7:47pm
URL: https://forum.jogamp.org/Java-3D-tp4028047p4028052.html
Hi,
This is an interesting development.
I have dealt with a number of bugs where it would just lock up or throw an unrecoverable error meaning some background thread was halted. I have mostly solved these issues by ensuring the situations that cause these problems do not occur from within my own code.
The problem which has halted my progress is the picking feature.
Imagine a box primitive near flattened and used as a floor.
I create a HitCylinderRay over the box with the normal pointing directly down, perpendicular to the box.
I use the getLocale().pickClosest()
I create a PickIntersection from the locale and PickInfo.IntersectionInfo
Initially I was delighted with the results. However, after a lot of playing around with picking I notice the results are inaccurate.
The PickInfo getClosestIntersectionPoint, getClosestDistance are generally incorrect.
The PickInfo.IntersectionInfo does not always have the vertices for the closest triangle and hence the distance and intersectionpoint are wrong.
The problem can be witness most regularly when once of the vertices is within the hit cylinder radius and the center is close to the edge of an adjacent triangle. Instead of picking the triangle whose edge is closest to the center the pick info selects a triangle whose vertice is within the cylinder. as soon as the vertice moves outside the cylinder the pick info returns the correct closest triangle and the correct closest intersection point, which happens to be on an edge.
unfortunately this phenomenon has rendered my whole project useless.
I have examined the source code for PickTool, PickInfo and traced through GeometryStructure, GeometryAtom and then onto BranchGroup Locale and VirtualUniverse.
After several hours I realised it wasnt going to be a quick fix as I dont have the experience to modify existing packages or how to integrate new code within existing packages.
I have spent the last couple of days trying to install JOGL yet with no success. I can compile using the jars but I cant for the life of me get the runtime to see the jars.
Anyway, my Java3D project, I've designed and written a whole GUI for Java3D that runs as part of the Canvas3D.
I am in a bit of a quandary as to what to do because my concerns are...
#1 How difficult is it to fix the problems I have with Java3D?
#2 Considering that it looks like Java3D has now been dropped and is no longer supported and considering that new 3D technologies will be suported by other existing 3D engines that are supported and updated, what future would any project have that relies on Java3D?
#3 I havent looked deeply into the capabilities of JOGL but how does it compare to JAVA3D? can I do all the things in JOGL that I can do in Java3D?
As you can imagine I am a bit concerned as to what to do. Your insight would be greatly appreciated.
PS. I am going to have a look at your libraries to see if they can help with my predicument.
Regards
P