You are all probably aware of a commercial package called Magician, which provides Java
bindings to OpenGL (similar to GL4Java).
We are trying to integrate a Java3D display and a display written in Magician into one
application. We basically took the "HelloUniverse" Java3D demo and the "HelloWorld"
Magician demo and put them both in the same JFrame. I apologize because I realize this
is an unorthodox thing to do and it effectively "voids the warranty" on both Java3D and
Magician, but my job demands that I ask anyway.
On a PC running WinNT, it runs fine, but on Solaris it has the following problem:
1. If I create the Java3D canvas before I initialize the Magician GLComponent, it
crashes
before the displays come up with the following message:
Exception occurred during event dispatching:
com.hermetica.magician.GLContextException: nativeGLContext.cpp:1183:
glXMakeCurrent() failed!: 0
at com.hermetica.magician.GLContext.nMakeCurrent(Native Method)
at com.hermetica.magician.GLContext.makeCurrent(GLContext.java:336)
at com.hermetica.magician.GLComponent.processEvent(GLComponent.java:732)
at
com.hermetica.magician.GLComponent.processDisplayEvent(GLComponent.java:759)
at com.hermetica.magician.GLComponent.paint(GLComponent.java:811)
at sun.awt.RepaintArea.paint(RepaintArea.java:298)
at sun.awt.motif.MComponentPeer.handleEvent(MComponentPeer.java:349)
at java.awt.Component.dispatchEventImpl(Component.java:2663)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:333)
at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
2. If I initialize the Magician GLComponent before I create the Java3D canvas, Magician
comes up right away, but Java3D only comes up if I wait about 10 seconds and then
resize the window.
The message "glXMakeCurrent() failed" seems to indicate that both displays are somehow
fighting for the same drawing context, which doesn't seem possible. If I remove either
display, the other runs fine. Again, this only happens on Solaris. Does anyone have
any
ideas about what might be causing this behavior? I am out of ideas myself.
Thanks,
-Roy Duffy
[EMAIL PROTECTED]
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".