A
Andy Skinner
We have a JNI wrapper around OpenGL that we use for Java (until we
replace with the Sun/SGI JOGL). This works on Windows and Sun, and I
am trying to port it to the Mac.
In the JNI code (which is in C), I have to load the AWT library, get
the drawing info out of that, and get the version native to the mac.
This is a JAWT_MacOSXDrawingSurfaceInfo, and inside it are:
cgWindowID
cgConnectionID
cgContextRef
cocoaWindowRef
carbonWindowRef
windowX, windowY
windowWidth, windowHeight
On Windows, we get a field called hwnd from the Windows-specific
structure. On Sun, we get a drawable. This gets passed around a bit
using JNI, and eventually goes into a call to glXMakeCurrent() (or
wglMakeCurrent(), depending on platform). That call is failing, with
GLXBadDrawable as the error. I've tried using the cgWindowID,
cocoaWindowRef, and carbonWindowRef.
Do I need to do something else to get an OpenGL-drawable window? What
do I use to get an X Window that I can pass to glXMakeCurrent()?
I'm not a OSX expert at all, so I may need some follow-up questions.
thanks,
andy
AVS
replace with the Sun/SGI JOGL). This works on Windows and Sun, and I
am trying to port it to the Mac.
In the JNI code (which is in C), I have to load the AWT library, get
the drawing info out of that, and get the version native to the mac.
This is a JAWT_MacOSXDrawingSurfaceInfo, and inside it are:
cgWindowID
cgConnectionID
cgContextRef
cocoaWindowRef
carbonWindowRef
windowX, windowY
windowWidth, windowHeight
On Windows, we get a field called hwnd from the Windows-specific
structure. On Sun, we get a drawable. This gets passed around a bit
using JNI, and eventually goes into a call to glXMakeCurrent() (or
wglMakeCurrent(), depending on platform). That call is failing, with
GLXBadDrawable as the error. I've tried using the cgWindowID,
cocoaWindowRef, and carbonWindowRef.
Do I need to do something else to get an OpenGL-drawable window? What
do I use to get an X Window that I can pass to glXMakeCurrent()?
I'm not a OSX expert at all, so I may need some follow-up questions.
thanks,
andy
AVS