Login  Register

Java3D 1.6.0-pre11 released

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

Java3D 1.6.0-pre11 released

hharrison
238 posts
- 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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Andreas
70 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
6044 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
6044 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

hharrison
238 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

hharrison
238 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Andreas
70 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

hharrison
238 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Andreas
70 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
6044 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

hharrison
238 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
6044 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

Manu
181 posts
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
| More
Print post
Permalink

Re: Java3D 1.6.0-pre11 released

hharrison
238 posts
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