Question about JavaFX and Java3D 1.6.

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about JavaFX and Java3D 1.6.

ZacharyABCD
The JOGAMP people have been continuing java3D and have produced a stable 1.6 version of Java3D.

-I have found that JavaFX includes its own version of 1.6 Java3D classes, such as Shape3D and Transform.


-Will it entirely work, when programming in JavaFX using the classes in Oracle's jfxrt.jar,

if I simply submit the Java3D classes from j3dcore.jar, will things still compile and run?


-Are there reasons for or against doing so?  If so, what are they?

Reply | Threaded
Open this post in threaded view
|

Re: Question about JavaFX and Java3D 1.6.

gouessej
Administrator
Hi

JavaFX 3D and Java3D are 2 distinct APIs. Moreover, Java3D 1.7.0 doesn't use the javax.media namespace. javafx.scene.transform.Transform and javafx.scene.shape.Shape3D come from JavaFX 3D and cannot be used in Java3D. Therefore, you cannot use jfxrt.jar instead of j3dcore.jar and vice versa.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Question about JavaFX and Java3D 1.6.

ZacharyABCD
-So what are the intentions from the Point of view of JavaFX?  Is the idea that only JavaFX be used going forward?

-What is the reasoning suggesting jogamp's Java3D 1.6 with AWT and SWING instead, being the original approach?
Reply | Threaded
Open this post in threaded view
|

Re: Question about JavaFX and Java3D 1.6.

jmaasing
I don't really understand the questions so maybe this doesn't answer them but JavaFX is developed by Oracle.
Jogamp Java3D has nothing to do with Oracle or JavaFX so the Jogamp community does not have any insight into the plans for JavaFX or JavaSE.
Reply | Threaded
Open this post in threaded view
|

Re: Question about JavaFX and Java3D 1.6.

gouessej
Administrator
In reply to this post by ZacharyABCD
I agree with jmaasing. Oracle and the JogAmp community are independent. Oracle has its own agenda. I advise you to read what I wrote in the wiki:
http://jogamp.org/wiki/index.php/Java3D_Overview

The situation in OpenJFX/JavaFX isn't the same as the situation in Swing and AWT. The former doesn't have a stable public API to communicate with its native part and with its windowing toolkit (named Glass) whereas the latter has JAWT:
http://docs.oracle.com/javafx/2/architecture/jfxpub-architecture.htm

As a consequence, it's easier to interoperate with Swing and AWT than with OpenJFX/JavaFX. This problem doesn't affect only Java3D, it affects JOGL itself:
https://jogamp.org/bugzilla/show_bug.cgi?id=607

OpenJFX/JavaFX has its own rendering pipeline. Oracle plans to create an "OpenGLNode" to ease the use of third party libraries to perform OpenGL rendering but it's not ready yet.

In my humble opinion, OpenJFX/JavaFX 3D is a lot less capable than many third party libraries. If you really want to use OpenJFX/JavaFX with Java3D, you can try to put a Canvas or a JCanvas into an OpenJFX/JavaFX SwingNode. If it doesn't work, you'll have to choose between OpenJFX/JavaFX + OpenJFX/JavaFX 3D and Swing/AWT + Java3D.
Julien Gouesse | Personal blog | Website