Areas

Info

j3d.org

SWT JOGL

Current Release: 0.6
(Release date 24 October 2006).

JOGL (Java OpenGL) is the formal bindings to OpenGL developed through JSR 231. The bindings have some dependencies on AWT, though most of the APIs that are important do not, making it relatively easy to support an SWT version of the same. We have developed an implementation of the API that will handle the SWT widgets in addition to the existing AWT set.

This code is currently in a very early release cycle. The initial development has come from using Sun's reference implementation and modifying it to work with SWT Canvas instances rather than AWT. As part of this, we stripped out most of the AWT handling (particularly that which was causing problems on Macs) and replaced it with SWT equivalents where needed. Right now we're operating using a reasonably modified version of the RI code in order for our own code to work correctly. Many of these changes are incompatible, particularly relating to the Mac. The standard Java AWT uses Cocoa for the windowing toolkit, while SWT uses Carbon. The result is that we have to build our own AGL bindings and then the rest of the libraries from there on up end up being quite different.

 

Downloading and using

We offer two ways of using the code. You can grab either of these options from our downloads page

  • Standalone: If you are developing a standalone SWT application then you can grab the JOGL implementation for that. The API is nothing more than what you already see in the standard JSR-231 javadoc. You may use either your own custom Canvas, the new SWT GLCanvas or our own GLCanvas implementation.
  • Eclipse Plugin: We've pre-packaged all the requirements you'll need to use our code as an Eclipse plugin. There are several pre-requisites, including needing at least SWT 3.2M3. We've bundled these all up into a big zip file so that all you need to do is drop them into your Eclipse plugins directory and you'll have instant access to all the capabilities of the SWT binding.

If you are interested in working at a higher level than raw OpenGL commands and would like to use a scene graph, we recommend using our Aviatrix3D project in version 2.0 and later. This has the capability of working over the top of the SWT bindings to provide a native SWT scene graph for opengl rendering and also may function as an Eclipse plugin.

We maintain our code under the same SVN repository as the rest of this site. If you'd like to download our code, please visit the SVN information page for more information. Right now our modified JOGL source is not part of that download because we're waiting to see whether Sun take the code or not. If not, we'll offer our own version of it here. Both codebases are using the BSD license (Sun, SWT). If you would like to compile our modified version of the RI look at the jogl_ri repository. It works on quite a different setup to what we use normally, so there will be quite a bit of extra work to get it set up.

This release is for Win32 and OSX. Other platforms should be made available fairly rapidly.