Java3D 1.6.0-pre11 released

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

Java3D 1.6.0-pre11 released

hharrison
- Updated for API changes in JOGL 2.2.0, now required
- Many, many thanks to Kavon Farvardin for fixing up the capability selection code, restoring stereoscopic and double buffering capabilites.

http://jogamp.org/deployment/java3d/1.6.0-pre11/
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Andreas
Thanks to all of you.

I noticed that the anti-aliasing is not working in my program (http://www.elamx.de) since the update to Java3D 1.6.0 pre 11 and JOGL 2.2.0. Due to discussions in this forum I'm using

System.setProperty("j3d.implicitAntialiasing", "true");

and

simpleU.getViewer().getView().setSceneAntialiasingEnable(true);

and

GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
template.setSceneAntialiasing(GraphicsConfigTemplate3D.REQUIRED);

Is this somehow my fault?

Thanks
Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
I fear it isn't your fault, thank you for the feedback. I'm going to have a look at the latest changes. Anyway, I thank a lot all contributers for driving Java3D more reliable than ever.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
In reply to this post by hharrison
Thanks for the update.
I tried it with Sweet Home 3D successfully but like Andreas, I noticed some differences in antialiasing management. Antialiasing works but the filter (min/max values?) isn't as efficient as in previous versions, making rendered images less nice at screen.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
I just tried it also with Sweet Home 3D applet, and I have to report an issue that reappeared and prevents from using its JCanvas instance.
Here's the stack trace:
 Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException: Canvas3D: null GraphicsConfiguration
	at javax.media.j3d.Canvas3D.checkForValidGraphicsConfig(Canvas3D.java:943)
	at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1012)
	at com.sun.j3d.exp.swing.JCanvas3D$InternalCanvas3D.<init>(JCanvas3D.java:672)
	at com.sun.j3d.exp.swing.JCanvas3D.createCanvas(JCanvas3D.java:323)
	at com.sun.j3d.exp.swing.JCanvas3D.setBounds(JCanvas3D.java:542)
	at com.eteks.sweethome3d.swing.HomeComponent3D$3.layoutContainer(Unknown Source)
	...

Hope this will be enough for you to fix the bug.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
Those both bugs are probably caused by kavon's contribution, especially the code that picks the graphics configuration and manipulates the graphics configuration table within Canvas3D. I don't blame him as the original code was a real mess with this nasty QueryCanvas that I've ever wanted to remove from Java3D.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

hharrison
In reply to this post by Andreas
Hi Andreas,

What was the previous version of jogl and java3d you were running where this was working? -pre10?  Please confirm for me.

Cheers,

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

hharrison
In reply to this post by Manu
Thanks Emmanual, I'll have a look. (I'm assuming this is a new crash since -pre10?)

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Andreas
In reply to this post by hharrison
Hi Harvey,

thanks again for all the work you and the others are doing.

Yes, before I used JOGL 2.1.5 and Java3D 1.6.0 pre 10.

Andreas
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

hharrison
Andreas,

Are you able to build java3d from source?  It would be a bit easier for me if I can just send you git commits....but I can send
you full builds if needed.

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
In reply to this post by hharrison
hharrison wrote
Thanks Emmanual, I'll have a look. (I'm assuming this is a new crash since -pre10?)
Yes, it was with Java 3D -pre10 and JOGL 2.1.5. I tested the applet again before posting the stack trace to be sure it's a regression, and it still works with that configuration.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Andreas
In reply to this post by hharrison
Harvey,

I found the reason for my anti-aliasing problem. I used a GraphicsConfiguration which was created by the following code due to an example of an old JCanvas3D:

        GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
       
        template.setSceneAntialiasing(GraphicsConfigTemplate3D.REQUIRED);

        // Force double-buffer and stereo to UNNECESSARY
        template.setStereo(GraphicsConfigTemplate.UNNECESSARY);
        template.setDoubleBuffer(GraphicsConfigTemplate.UNNECESSARY);

        GraphicsConfiguration graphicsConfig = device.getBestConfiguration(template);

After removing the template.setDoubleBuffer(GraphicsConfigTemplate.UNNECESSARY) everything seems to work now.

Andreas
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
Thank you. There is still one remaining bug, the root cause I suggested is still plausible.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
Any news about the java.lang.NullPointerException thrown in javax.media.j3d.Canvas3D.checkForValidGraphicsConfig?
Should I try with more recent versions of JOGL or this shouldn't change anything until a pre12 is out?
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

hharrison
You could try with jogl 2.2.4, but as I'm sadly short of time these days, I can't promise much movement on my end until after the first week of December.

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
After a new try with JOGL 2.2.4 / Java 8u25 under Mac OS X, I noticed that antialiasing works but keep reporting that the filter (min/max values?) isn't as efficient as in previous versions, making rendered images less nice at screen. Could this issue be fixed? Or was this change made on purpose?

I also tried to use Canvas3D instances with applets (not JCanvas3D instances which are incredibly slow on a Retina display) and on this side, I've got good news: it works great under Mac OS X 10.10, even if a few stack traces like the following one appear in the Java console:
RunnableTask.run(): A caught exception occured on thread Repaint-OnAppContextTG: 
RunnableTask[executed false, tTotal 0 ms, tExec 0 ms, tQueue 0 ms, attachment null, throwable java.lang.NullPointerException]
java.lang.NullPointerException
	at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1080)
	at sun.awt.SunToolkit.getSystemEventQueueImplPP(SunToolkit.java:1075)
	at sun.awt.SunToolkit.getSystemEventQueueImpl(SunToolkit.java:1070)
	at java.awt.Toolkit.getEventQueue(Toolkit.java:1734)
	at java.awt.Component.repaint(Component.java:3403)
	at java.awt.Component.repaint(Component.java:3303)
	at com.jogamp.nativewindow.awt.JAWTWindow$1.run(JAWTWindow.java:411)
	at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:133)
	at com.jogamp.common.util.RunnableTask$1.run(RunnableTask.java:84)
With JCanvas instances, I didn't notice the exception I reported on August 8, 2014.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
We already had a similar stack trace:
http://forum.jogamp.org/Jogl-2-stops-working-on-Mac-after-Java7-update-55-td4032286.html
http://forum.jogamp.org/Error-in-MacOSXCGLContext-since-Java-7u55-td4032200.html

Please can you check that there is no "old" version of JOGL 2 anywhere on your machine?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
I'm pretty sure there was only classes coming from JOGL 2.2.4.
Just in case I wasn't clear enough: these exceptions don't prevent my program to work in my case.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
After a search in the source code of Java 3D, I think I found why antialiasing in 1.6.0-pre11 isn't the same as in 1.6.0-pre10.
In the change of JoglPipeline committed on Aug 5, 2014, a setNumSamples(4) call was removed in getBestConfiguration, and now there's only a setNumSamples(2) call, leading to some antialiasing of lower quality from the comments in JoglPipeline class.
How comes that the value passed to setNumSamples was reduced? Is it to ensure a better support of Java 3D?
Thanks for your help.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

hharrison
I debated whether or not to apply that patch as it was just too large to give a decent review.

If you simply bump the number of samples to 4 there, does it solve the regression for you?

This code in particular is just a pile of hacks really, but I don;t have the appetite to rewrite it.

Harvey
12