Experimental build -pre4 released - OSX testers wanted

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

Experimental build -pre4 released - OSX testers wanted

hharrison
This post was updated on .
I've released an experimental build of the j3dcore library attempting a dumb removal of the internal Querying
mechanism Java3d had, note this isn't fully functional as it ignores some of the Java3d state requesting certain canvas
properties be enabled/disabled.   This is only to test if the lockups being experienced by OSX users is resolved with
this approach.

Other users should likely continue with -pre3 as this build is not fully functional....happy testing.

j3dcore-exp.jar

https://github.com/hharrison/java3d-core/downloads/


Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

vorth
I'll test it tonight.  Thank you for the quick turnaround, Harvey.
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

vorth
It worked perfectly under Java 1.6.0!  Emissive color works well (a flaw in the ancient Java3d Apple used to ship), and offscreen rendering now handles orthographic projections (a defect in Java3d 1.5.2).  Thank you, again.

I tried it under Java 7, also, but the process crashed.  That need not be anything to do with Java3d or JOGL, though, since I have not had my application running under Java 7 successfully yet.  I'll start a new thread if it turns out to be an issue with Java3d.
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

hharrison
That's great news, hopefully this works out for some of the other OSX folks.
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

Kenji Saito
Hi, I am a Japanese developer using Java 3D. Sorry for my bad English.          
I would like to thank the great job of Java 3D on JogAmp.
I am happy to be able to use new Java 3D.

I have a project using Java 3D: [Acerola3D](http://acerola3d.sourceforge.jp)
In a part of this project, the library depend on a function that enables
it to read the z-buffer data. But now, Java 3D throws NullPointerException.
So, I need to apply a pache attached the following page.

* http://java.net/jira/browse/JAVA3D-593

I checked that this patch works correctly at the source of
Harvey's github repositry at Nov 22(JST). Could you reflect
this patch in j3dcore repositry?

By the way, it works fine at Windows, MacOSX(Java6), Linux.

Best regards.
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

hharrison
Kenji,

I'd be happy to include your patch to Java3d, I have a few questions:

1) Could you send me the patch directly in an email to <harvey.harrison@gmail.com> and let me
know in that e-mail that it is submitted under the GPLv2 with classpath exception (the Java3d license)

2) Your real name and an email address you'd prefer to be credited with as the author.

3) I noticed that there was a test case attached to the issue you linked above, but the copyright was for EADS,
are you able to provide a testcase for this bug that I could include as well?


Also, have you been using my forked version of Java3d?  Please let me know how it has behaved for you.

Thanks a lot!

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

Kenji Saito
Harvey,

Thank you for your acceptance of my proposal. But my explanation was
not sufficient. The patch is not written by me. I just simply found it
using google. So, I don't have the right of it. I did not think that
there is a problem of license, because this patch is attached to
java3d bug report page... Should we abandon?

If we can include the patch to Java 3D, I think I can provide
another test case for this bug under any license. Please let me know
the conditions of the test case, if necessary.

> Also, have you been using my forked version of Java3d?
> Please let me know how it has behaved for you.

Yes, I use your java3d-core, java3d-utils and vecmath from
<https://github.com/hharrison>. And I apply the patch to
your java3d-core. (and jogamp-rc11)

I could not have enough time to test carefully. But for now,
it works almost fine for me. One problem is that JCanvas3D
(light weight Canvas3D) is not displayed without error messages.
This problem occurs on Windows, MacOSX, Linux.
But, I can not determine where the mistake is. (java3d or my program?)
If I find some trouble in java3d, I will report it.

Best regards.
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

hharrison
Sent an email to 'tanek' that submitted that patch, hopefully he's still around.  What kind of error messages are you getting
with JCanvas3D?
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

Manu
Thanks Harvey for trying to fix this issue.

I tried your new version, and got the following stack trace under Java 1.7.0_09 / Mac OS X 10.7.4:
javax.media.opengl.GLException: BackingLayerHost w/ unknown handle (!FBO, !PBuffer): MacOSXOnscreenCGLDrawable[Realized true,
	Factory   jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@7284e767,
	Handle    0x7fb28e127210,
	Surface   JAWT-Window[windowHandle 0x7fb28f15ef70, surfaceHandle 0x7fb28e127210, bounds [ 0 / 0  1 x 1 ], insets [ l 0, r 0 - t 0, b 0 - 0x0], shallUseOffscreenLayer false, isOffscreenLayerSurface true, pos 0/0, size 1x1, visible true, lockedExt false,
	config AWTGraphicsConfiguration[AWTGraphicsScreen[AWTGraphicsDevice[type .awt, connection Display 69678464, unitID 0, awtDevice sun.awt.CGraphicsDevice@52c7bef4, handle 0x0], idx 0],
	chosen    GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], offscr[auto-cfg]],
	requested GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]],
	CGLGraphicsConfig[dev=69678464,pixfmt=0],
	encapsulated MacOSXCGLGraphicsConfiguration[DefaultGraphicsScreen[MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], idx 0],
	chosen    GLCaps[rgba 0x8/8/8/8, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]],
	requested GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]]]],
	awtComponent com.eteks.sweethome3d.j3d.Component3DManager$1[canvas0,0,0,1x1],
	surfaceLock <737455ed, 5ab575d2>[count 1, qsz 0, owner <J3D-Renderer-1>]]]
	at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.contextRealized(MacOSXCGLContext.java:647)
	at jogamp.opengl.macosx.cgl.MacOSXCGLContext.contextRealized(MacOSXCGLContext.java:333)
	at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:536)
	at javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6194)
	at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4605)
	at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2379)
	at javax.media.j3d.Renderer.doWork(Renderer.java:877)
	at javax.media.j3d.J3dThread.run(J3dThread.java:270)
J3dI18N: Error looking up: Renderer7
Error in Java 3D : 3 Renderer7javax.media.opengl.GLException: BackingLayerHost w/ unknown handle (!FBO, !PBuffer): MacOSXOnscreenCGLDrawable[Realized true,
	Factory   jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@7284e767,
	Handle    0x7fb289e1e0b0,
	Surface   JAWT-Window[windowHandle 0x7fb28e1188b0, surfaceHandle 0x7fb289e1e0b0, bounds [ 0 / 0  765 x 526 ], insets [ l 0, r 0 - t 0, b 0 - 0x0], shallUseOffscreenLayer false, isOffscreenLayerSurface true, pos 0/0, size 765x526, visible true, lockedExt false,
	config AWTGraphicsConfiguration[AWTGraphicsScreen[AWTGraphicsDevice[type .awt, connection Display 69678464, unitID 0, awtDevice sun.awt.CGraphicsDevice@52c7bef4, handle 0x0], idx 0],
	chosen    GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], offscr[auto-cfg]],
	requested GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]],
	CGLGraphicsConfig[dev=69678464,pixfmt=0],
	encapsulated MacOSXCGLGraphicsConfiguration[DefaultGraphicsScreen[MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], idx 0],
	chosen    GLCaps[rgba 0x8/8/8/8, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]],
	requested GLCaps[rgba 0x5/5/5/1, opaque, accum-rgba 0/0/0/0, dp/st/ms: 16/0/4, sample-ext default, dbl, mono  , hw, GLProfile[GL2/GL2.hw], on-scr[.]]]],
	awtComponent com.eteks.sweethome3d.j3d.Component3DManager$1[canvas1,0,0,765x526],
	surfaceLock <243fc01b, 555d3f34>[count 1, qsz 0, owner <J3D-Renderer-1>]]]
	at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.contextRealized(MacOSXCGLContext.java:647)
	at jogamp.opengl.macosx.cgl.MacOSXCGLContext.contextRealized(MacOSXCGLContext.java:333)
	at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:536)
	at javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6194)
	at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4605)
	at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2379)
	at javax.media.j3d.Renderer.doWork(Renderer.java:877)
	at javax.media.j3d.J3dThread.run(J3dThread.java:270)
J3dI18N: Error looking up: Renderer7
Error in Java 3D : 3 Renderer7

Under Java 1.6 / Mac OS X 10.7.4, it worked but the offscreen images were incorrect.

Under Windows, I get the same error as previously reported.

Hope this will help
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

hharrison
Is it easy in your application to do just the offscreen rendering?  If possible, I'd like to break this up a bit
and see if there are perhaps more than one issue at play here.

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: Experimental build -pre4 released - OSX testers wanted

Manu
If you want to create only offscreen views, you should set the com.eteks.sweethome3d.j3d.useOffScreen3DView System property to true, using -Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true java option if you run Sweet Home 3D from its Jar executable file. For components displayed at screen, this will use JCanvas3D instances instead of Canvas3D instances.
And very good news: Sweet Home 3D works using this option and the Jar executable file built with Java 3D 1.6 pre3 and JOGL rc11 
Wtih Java 3D 1.6 pre4, the program doesn't crash but doesn't work correctly (the JCanvas3D instance is partially viewed and other off screen 3D canvases are incorrect).
Emmanuel Puybaret