Troubleshooting My OpenGL Applets

Stereoscopic Animated Hypercube v2.0, with OpenGL, is here, without OpenGL is here.
Original 1996 version (line drawing) is here.

 

June 27, 2016 note:

Users are getting a security error for the "Java Bindings for OpenGL":

20160627-jogamp-error
It turns out the Jogamp people didn't renew their code-signing certificate, and recent Java runtime versions require that code is signed with a non-expired certificate. The Jogamp code is what allows my applet to use OpenGL. I haven't been successful in adding an exception for https://jogamp.org (in the Java Control Panel). For now, you can run the Stereoscopic Animated Hypercube v2.0 non-OpenGL version.

April 18, 2015 note:

Noticed the Hypercube V2.0 had stopped working. It turns out that some JOGL classes got moved to a different "package". Re-compiled the applet to reference the new locations.

I still need to update this "Troubleshooting" document, which is no longer accurate.

 

 

 

1. You should be running the latest version of Java.

Java 1.5 is a browser plug-in from Sun Microsystems.

If you don't have Java at all, you will probably see a picture of the applet, marked up with a note that says "This is a GIF, not a Java Applet". Or maybe just an empty rectangle where the applet should be.

If you have an old version of Java, you will probably see a class-loading error in your Java Console.

Windows or Linux:

On Windows or Linux you can download the Java plugin here.
Look for the "Java SE Runtime Environment (JRE)".

Macintosh:

I'm told that you must use the "Software Update" feature to update your Java version (on OSX 10.5 Leopard, anyway). There may be some other Software Update items that have to be completed first before you can even see the option of updating your Java version.

2. You need OpenGL

OpenGL is generally implemented in the firmware of your graphics adapter.

My OpenGL applets use the Java Binding for the OpenGL API (JOGL) to access your computer's OpenGL.

If your computer is too old, your graphics adapter may have inadequate OpenGL support. In that case, you'll have to run the Pure Java version of the applet (or buy a better graphics adapter).

My Pure Java hypercube is here.

The Pure Java version runs slower, particularly when the graphics area is sized big, because every pixel has to be set by Java. And the graphics quality is inferior because my Pure Java renderer doesn't do "smooth shading".

My OpenGL applets attempt to revert to Pure Java if they encounter a problem in starting up OpenGL. This may happen if your Graphics Adapter is totally lacking in OpenGL support.

3. You Have to answer a security prompt

The first time you run the applet, you will see this security prompt:

JNLPAppletLauncher

This comes from the JNLPAppletLauncher applet, which I use to load my applet. JNLP is the acronym for Java Network Launch Protocol.

To run an OpenGL applet, your computer needs some extra code (software) that isn't part of the Java Plugin. I use the JNLPAppletLauncher to handle this. This saves you from having to download and install JOGL manually. The JNLPAppletLauncher needs access to your computer to download the extra code, save it on your hard drive (in a temporary area) and hook it up to my applet.

The prompt, above, is telling you that Java needs to run the JNLPAppletLauncher applet, which is signed by Java Media APIs and downloaded to your computer from http://download.java.net.

Java Media APIs belongs to java.net, a developer community run by Sun Microsystems. So if you trust Java Media APIs, you can click the Run button. The JNLPAppletLauncher (but not my applet) will run without the security restrictions normally provided by Java.

Java Media APIs will be added to the list of "Trusted Certificates", which you manage from your Java Control Panel.

4. Expect a delay the first time

There will be a delay the first time you run the applet (after you click Run in the security prompt). The JNLPAppletLauncher has to download some code from Java Media APIs (between 1 and 2 Mb) and save it in a temporary area.

Subsequent times that you run the applet, there probably won't be a delay, since the code doesn't have to be downloaded again. The JNLPAppletLauncher finds the code in the temporary area, checks it for validity, and re-uses it.

If you open the Java Console while the applet is loading, you can watch all these steps and see the locations where the code is stored.

 

The Java Control Panel

The Control Panel is an application that manages the settings for your Java Plugin.

In Windows, look for "Java" in the Windows Control Panel (in Settings).

Macintosh: I need to find out how to get to it. If you have this information, please email me.

The Java Control Panel has a setting for the visibility of the Java Console. It's on the "Advanced" tab. My preference is "Show Console".

 

The Java Console

The Java Console displays diagnostic messages from Java applications that are running. If an applet isn't running right, you should always check the Java Console.

Your browser may have a menu item (usually on the "Tools" menu) to show the Java Console. You may have to enable the Java Console using the Java Control Panel (see above).


<Dogfeathers Home Page>   <Mark's Home Page>   <Mark's Java Stuff>
Email: Mark Newbold
This page URL: http://dogfeathers.com/java/opengl.html