Status of JOGL/JSR231 on OSX 10.4?

I have a fairly involved JOGL-based application. It works on PCs with a variety of graphics cards, and it works on my old PowerBook running OSX 10.3. But on a mac mini we have running 10.4, I’m getting crashes.

One crash is in glDrawElements, and another is in glDeleteTextures. It’s entirely possible that there are bugs in my app that 10.4 is more sensitive to than other platforms. But I haven’t a clue how to figure out what the problem is.

The crash in glDrawElements only seems to happen when I’m drawing textured objects. The glDeleteTextures crash happens every time I call it.

On the advice of some Mac Java guy, I just switched from JOGL 1.1.1 (7/05) to JSR Beta 3. No change.

Questions:

  1. Is OSX 10.4 a supported platform for JSR231/JOGL? (Is there a list of known bugs someplace?)
  2. Assuming the problem is in my code, any suggestions on how to track these bugs down? The crash dumps are thoroughly unhelpful to me.
  3. I had been using JOGL 1.1.1 because I’m not comfortable shipping my product with “Beta” components. Is that a valid concern, or is JSR Beta 3 a more robust option than JOGL 1.1.1?

-Joshua

Small update: I tracked down the glDeleteTextures crash – I was calling it from the wrong thread. Apparently 10.4 does not tolerate this bug the way other platforms did.

The above questions all still stand, though.

Yes, it is supported. There are a couple of outstanding 10.4-specific bugs. The JDK’s full-screen support does not seem to work with JOGL on 10.4; the same code works fine on 10.3. Unfortunately there does not appear to be a workaround for this at this time. As far as I know this is being investigated with high priority by Apple. Second, there appear to be some issues with alpha channels and Java2D as can be seen in the JGears demo where the backgrounds of the icons drawn with Java2D are opaque instead of transparent. This problem also does not show up on 10.3, but is less severe as I don’t think there are too many apps taking advantage of drawing Java2D over OpenGL rendering using the GLJPanel.

Try installing a DebugGL pipeline in your GLEventListener.init() method. It should eagerly catch any illegal calls to OpenGL routines while there is no context current.

I understand your concern, but I think that the current JSR-231 betas and even the current nightly builds are much more robust than the JOGL 1.1.1 release. While a lot of code has been rewritten, a lot of longstanding issues have been diagnosed and fixed only in the context of the JSR-231 work. That having been said, the code is still in a bit of flux as we work through the last remaining issues before we freeze for the first release of the reference implementation. I think that the forthcoming beta 4 will be a pretty good / stable release. The tail end of the release is going to mainly be legal work so you shouldn’t see many implementation changes between beta 4 and the first RI release.

[quote=“jesmith,post:1,topic:26810”]
* swpalmer knows that guy :wink:

Can you say a bit more about the problem with full-screen support?

I’m running 10.4 and full-screen seemed to work with a pre-JSR231 version of JOGL and Java 1.4.2. Have yet to try JSR231 and Java 1.5 on OSX 10.4.

The demos.fullscreen.GearsFullscreen demo, for example, comes up with a black screen on 10.4. I haven’t investigated whether this might be a regression in the JSR-231 tree since it happens only on 10.4, not on 10.3, but I’ll do so tomorrow.

FYI: I found my bug which caused problems on OSX. I was calling glMaterialfv inside a Begin/End block. Oddly, this worked just fine on all the other platforms I tried, except one very old PC (which had a completely different failure mode, so I didn’t realize it was the same problem I was having in OSX).

Bottom line: The JSR231 version is working great on all my test platforms now (all JDK 1.4.2):

NVIDIA QUADRO 3450, PC
ATI RADEON 850XT, PC
NVIDIA GeForce2MX, PC
Mac Mini, OS X 10.4
Mac PowerBook G4, OSX 10.3

For what it’s worth, full screen has no problems on the Macs I’m testing on.

Thanks for posting that as I’m migrating to JSR231 on my Mac and it’s good reassurance to hear it’s working for you.