LWJGL and gcj

Anthony Green green@redhat.com
Wed May 25 07:32:00 GMT 2005


LWJGL provides another OpenGL binding for java among other things (see
lwjgl.org). I was able to build it after a little jawt fixing (patch
coming soon).
Unfortunately it doesn't run. They use a really nasty kludge that
doesn't work with gcj. For some reason,they require access to low-level
graphics info in their java code. The info they need isn't provided by
the high-level interfaces available to normal programs (like in
GraphicsDevice), so they use this trick to call methods on Sun's private
subclasses.
static int getScreenFromDevice(GraphicsDevice device) throws LWJGLException {
 try {
 Method getScreen_method = device.getClass().getMethod("getScreen", null);
 Integer screen = (Integer)getScreen_method.invoke(device, null);
 return screen.intValue();
 etc
 etc
They use this same trick to get a visualID from Sun's private
GraphicsConfiguration subclass. 
We will either have to implement similar secret interfaces, or ask the
LWJGL folks to change their ways (if that's even possible), or both.
I don't plan on doing anything more with this right now. This was just
an FYI.
AG


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /