Java3D 1.6.0-pre11 released

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

Re: Java3D 1.6.0-pre11 released

Manu
I just tried tried to bump the number of samples to 4 in JoglPipeline source code and the difference is not that much visible.  
So the regression must come from somewhere else. Could it be because I use a Retina display and some modifications would have been done on High Dpi displays too?
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
By default, the HiDpi is on. Harvey, do you modify the pixel scale in Java3D? When it's on, the window units and the pixel units differ. I have a very little experience with handling that correctly.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
I tried also Java3D 1.6.0-pre11 on a non-Retina display and it showed the same regression on anti aliasing quality.
I don't mind to test more changes on JoglPipeline class, but please tell me which methods of GLCapabilities I should try to increase anti aliasing.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
Sometimes, I wonder if I'm right about antialisasing regression or not.
To avoid any misunderstanding, please give your opinion simply by comparing screen captures made with Java3D 1.6.0-pre10 and Java3D 1.6.0-pre11.
So, here are examples of the 3D view of Sweet Home 3D showing this example.

- With Java3D 1.6.0-pre10:
Screen capture made with Java3D 1.6.0-pre10

- With Java3D 1.6.0-pre11:
Screen capture made with Java3D 1.6.0-pre11

And now the differences for which I would like to read your comments :
Differences

The difference surrounded with blue seems to be an antialiasing issue whereas the ones surrounded with red seem to be bound to z-buffer management or the distance from the observer.
What do you think?
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
After a few more tests, I found out that the regression in quality shown in my previous message seems to come both from a lower antialiasing quality and a smaller depth size. If, in the getBestConfiguration method of JoglPipeline class, I replace caps.setNumSamples(2) call by caps.setNumSamples(4) and caps.setDepthBits(gct.getDepthSize()) call by caps.setDepthBits(24), then I get similar results to Java3D 1.6.0-pre10.
I don't mind to keep caps.setNumSamples(2) call unchanged (the quality difference isn't huge compared to caps.setNumSamples(4)), but still, I wonder why caps.setDepthBits(16) call (16 is the default value returned by gct.getDepthSize()) leads to a different result under Mac OS X with Java3D 1.6.0-pre11. Was the requested value of gct.getDepthSize() not respected in 1.6.0-pre10, and the made modification now respects the requested value?
Can I set depth size to 24 or 32 without any risk that the 3D configuration fails? Should I call isGraphicsConfigSupported or just trust getBestConfiguration implementation?

Thanks for your suggestions
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
Yes you can set the depth size to 24 but please never set it to 32 as it would lead to various problems under Windows.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

Manu
This post was updated on .
Thanks for the tip. I shall keep the depth size equal to 24 .
Harvey, do you have any idea why numSamples was set to 4 instead of 2 in previous version of Java 3D? Is it better to keep a value of 2 for compatibility or other reasons?
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Java3D 1.6.0-pre11 released

gouessej
Administrator
If you set it to 32 bits, JOGL will perhaps preferably pick the GDI renderer (OpenGL 1.1 emulated through Direct3D). The capabilities object you pass is an hint.
Julien Gouesse | Personal blog | Website
12