Will my JOGL-coded game display anything if there's no OGL on the computer?

Hi,
I’ve just started to learn JOGL and I’ve got some questions that I can’t find answers to.

I am moving away from Java2D in games because its only good when its accelerated and its acceleration is incredibly moody (scaling and too much anti-aliasing destroys acceleration). I only want to use JOGL for 2D graphics (ortho mode).

Q1 What proportion of computers have OpenGL and can interface with JOGL? (I’m suspicious because on some computers that I’ve run my Java2D game using the OGL pipeline there was no hardware acceleration). If OpenGL isn’t supported, is my JOGL-coded game stuffed and won’t display anything at all or will it work but at lower performance (ie will it fall back to software rendering, just not hardware accelerated)?

Q2 JOGL seems to be changing a lot, its still a JSR and even some tutorial-example code doesn’t work anymore because method names have changed. If I write something in JOGL now, is it likely to be runnable in a year?

Thanks,
Keith

A1 - The failure rate depends on your audience, the required opengl version and the OS also makes a big difference. Software rendering wont help… its too slow for anything. 2fps is the same as not working at all.

With opengl 1.2 the failure rate on windows will be around 30-35% (can be fixed by installing the drivers… duh), negligible small on mac and totally random on linux.

A2 - You ship the game with the required libraries. If it works it will continue to work (obviously). That is as long as the user doesnt break it by himself (eg by putting the lib into the jre’s lib dir, which is a big no-no).

Almost all OS installations nowadays have some form of OpenGL. Hardware acceleration is available on all platforms JOGL runs on. If you code your game defensively and check before using functionality beyond core OpenGL 1.1, you should be able to run on really ancient machines. If you decide on a baseline minimum requirement like OpenGL 1.3 then you should be able to run on a fairly large installed base of machines while ensuring good performance and making life easier on yourself by not having to check for the availability of tons of functions throughout your game’s rendering code.

Yes. The JSR-231 APIs are basically done at this point. It’s true that a lot of changes have occurred over the past several months, but the current API set is unlikely to change at all before the JSR is finalized.

Thanks Onyx and Ken, very helpful.