Login  Register

Re: Required JOGL Jars to run Java 3D 1.6

Posted by gouessej on Nov 27, 2012; 9:52pm
URL: https://forum.jogamp.org/Required-JOGL-Jars-to-run-Java-3D-1-6-tp4027211p4027261.html

InteractiveMesh wrote
as I told you earlier this year my future Java 3D fork (JUniversal3D) will primarily run on native pipelines (ogl, d3d)
These pipelines are a nightmare to maintain.

InteractiveMesh wrote
At the same time I tried to develop an offscreen rendered canvas for integrating Java 3D 1.5.2 into JavaFX 2. As Pbuffer has to be replaced with OpenGL's framebuffer (FBO) inclusive double buffering and MSAA, massive changes were necessary in the native and JOGL code. So, I decided to start another almost fully backwards compatible Java 3D fork called J3D 1.6 on the native pipelines as well as on the JOGL 2 pipeline.

For the JoglPipeline class implementation I try to follow the AWT GLCanvas design, which is similar to yours. Due to the Mac OS X/Java 7 trouble I'm currently splitting the Java 3D core into one for the native pipelines and into another for the JOGL pipeline which will include a Canvas3D class that implements the OffscreenLayerOption interface as AWT GLCanvas does. I will make the JOGL core available here for testing because I don't have access to the Mac platform. All sources wil be published according to Java 3D's GPLv2 with "Classpath" exception license.

SweetHome3D runs fine with J3D 1.6.0 on Windows (JOGL, ogl, d3d) in onscreen and offscreen mode. But JOGL's FBO is still challenging.
JOGL/JavaFX interoperability is already possible by porting the mockup based on our competitor and using FBO or by porting jogl-prism to JOGL 2.0 when JavaFX 2 is open sourced in February.

I'm clearly against the creation of another non atomic JAR for JOGL, it would just add some more confusions and some newbies will complain about ClassNotFoundException if Java3D evolves. Why not just using the atomic JARs? We shouldn't create a new non atomic JAR for each scenegraph. 3 MB is not that big especially in applications using hundreds of MB of data.
Julien Gouesse | Personal blog | Website