Windows app failing to construct Canvas3D

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

Windows app failing to construct Canvas3D

pierrebierre
This post was updated on .
I'm a math education developer with my own custom app (DataflowGeometry3D).  I have to support MacOS and Windows,
and use the same source code base (and Eclipse IDEs), but different installers for the 2 platforms.  The Mac side is working perfect up through online app distribution.

The Windows installer worked previously (DataflowGeometry2D), but that was before I added Java3D.

Launched from within Win Eclipse, the DataflowGeometry3D app runs perfect.  No compile or link errors.

But, if I have Win Eclipse build a RunnableJar, and launch from the Command Line, when trying to construct the Canvas3D,
it cannot find a suitable AWTGraphicsConfiguration because "<local3> is null".

Would this be a missing *.dll file that the Windows NSI Installer needs to put on the hard drive?  Something else?

thanks, Pierre

Win Java architecture:

Non-Modular
Java 8 (last update)
Swing & AWT
Java3D 1.6.0. & Jogamp-fat (version??)

The HP I'm building on has a GPU.  Would it matter if it didn't?
Reply | Threaded
Open this post in threaded view
|

Re: Windows app failing to construct Canvas3D

gouessej
Administrator
This post was updated on .
Hello

Please indicate which version of JOGL you use, which JOGL JAR(s) (the exact name) you deploy with your software and the full stack trace. I suspect that when you try your JAR, it uses Java >= 9 instead of Java 8, some --add-opens clauses are then missing and you get a NullPointerException. I might be completely wrong, but I need to know a lot more to make some suggestions. Which command line do you use to run your program?

By the way, Java 8 is obsolete and shouldn't be used.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Windows app failing to construct Canvas3D

pierrebierre
Hi Julien,  I would be only too happy to drop Java8 and build my Win app with Java16.  The MacOS version of the same app (Mac Intel hw) works perfectly with Java 16, Java3D 1.6.0 and jogamp-fat.jar.

BTW, how do I determine which version of a jogamp-fat.jar I'm using?  It's not externally visible.

For WINDOWS 11, and Java 16,
         Which release of Java3D should I use?
         Which release of jogamp-fat?
         Anything else my Windows app Installer needs to install?  Any PATH variables to add?

thanks, Pierre
Reply | Threaded
Open this post in threaded view
|

Re: Windows app failing to construct Canvas3D

gouessej
Administrator
Look at META-INF/MANIFEST.MF in jogamp-fat.jar to find the JOGL version you use. I advise you to use at least JOGL 2.5.0.

If you want to use Java >= 9, you'll have to add the missing --add-opens clauses.

Java3D 1.6 and 1.7 use different namespaces. Try at least to use the latest release of the major version.

I still need the full stack trace to be sure that it's just a problem of missing modules.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Windows app failing to construct Canvas3D

pierrebierre
This post was updated on .
Julien -

THIS IS A NON MODULAR JAVA APP.

I confirmed version info by printing out the J3d Properties to the console:

Java3D Version: 1.6.0 fcs fcs
Java3D: Vendor:
Java3D: Renderer: OpenGL  (jogamp-fat version 16.0.2 from Oracle, as read out from extracted MANIFEST)

Java runtime version 16.0.2

16.0.2+7-67
Oracle Corporation

I got past the Eclipse launch today, and was able to launch from the Windows Command Line by simply copying the launch string from the Eclipse Run Config.  It does include the

--add-opens java.desktop/sun.awt=ALL-UNNAMED

as the first java.exe option listed after the java.exe command.

This is real progress.

I believe I'm now back on the road to a Win Installer for my DataflowGeometry3D app.  Will confirm that when it's working.
Reply | Threaded
Open this post in threaded view
|

Re: Windows app failing to construct Canvas3D

gouessej
Administrator
I wanted you to give me the value of the field named "Implementation-Version" in the manifest. This is what appears for jogamp-fat.jar in JOGL 2.5.0:
Implementation-Version: 2.5.0

Please do the same for Java3D. The latest update contains fixes that might be helpful.

You have to use --add-opens even for non modular programs.
Julien Gouesse | Personal blog | Website