Contents /
Previous /
Next
3D Rendering- and Game-Engines based on JOGL
See: www.gamasutra.com
OpenMind API
The OpenMind API (http://sourceforge.net/projects/open-mind/) contains the
expected elements, including hierarchical scene management and object
transforms, dynamic cameras, lights, and fog. OpenMind is implemented on top of
JOGL.
jME graphics engine
jME (http://www.mojomonkeycoding.com/) was inspired by the scene graph engine
described in 3D Game Engine Design (Morgan Kaufmann) by David H. Eberly
(http://www.magic-software.com/Books.html). Currently, jME is built on top of
LWJGL, with plans for JOGL support in the near future.
Jist3D
The alpha version of this engine will be released in 2005
(http://www.imilabs.com/). Many of its features are described in Practical Java
Game Programming (Charles River Media) by Clingman, et al.
A key element of Jist3D is its utilization of JOGL, JOAL, and JInput. The
rendering engine uses JOGL to support the scene graph and includes utilities
for working with Java 3D graphs, a collision system, and 2D overlays.
JiD
JiD (http://javaisdoomed.sourceforge.net) includes loaders for Quake 2 MD2 and
3D Studio Max 3DS files. The implementation uses JOGL. The distribution
includes Escape, a Doom-like game.
Aviatrix3D
Aviatrix3D (http://aviatrix3d.j3d.org/) is a retained-mode Java scene graph API
above JOGL. Its tool set is aimed at data visualization rather than gaming and
supports CAVEs, domes, and HMDs.
Kahlua
Kahlua (http://www.igd.fhg.de/CP/kahlua/) is a Java wrapper for Open Inventor
(http://www.sgi.com/software/inventor/), a scene graph API available on the
Unix/Linux and Windows platforms.
jFree-D2
jFree-D2 (http://sourceforge.net/projects/jfreed2/) is a reincarnation of the
open source Java 3D implementation JFree-D, developed by Jean-Christophe Taveau
in 1999. It provides a workable (but incomplete) implementation of Java 3D on
top of GL4Java. Support for JOGL is planned in the future.
Game Engine Bindings
The following APIs emulate well-known game engines (e.g., Quake) or are Java wrappers around existing engines.
Auriga3D
Auriga3D (http://www.auriga3d.org/) works with Quake3 maps. There are versions on top of JOGL and LWJGL.
Jake2
Jake2 (http://www.bytonic.de/html/jake2.html) is a port of the GPL'd Quake2
game engine. It uses JOGL for the graphics and JOAL for the 3D sound. In tests,
it achieves better than 85% of the speed of the original C:210 FPS compared to
245 FPS.
Ogre4J
Ogre4J (http://www.bytelords.de/cowiki/427.html) is a binding for the OGRE 3D
Engine (http://www.ogre3d.org/) using JNI. OGRE 3D supports Direct3D and OpenGL
and runs on all the main desktop platforms.
Jirr
Jirr (http://sourceforge.net/projects/jirr/) is a binding of the open source
Irrlicht game engine (http://irrlicht.sourceforge.net/), which is written in
C++. Jirr is in the early stages of development.
Odejava
Odejava (https://odejava.dev.java.net/) is a binding around the Open Dynamics
Engine (ODE), an industrial quality library for simulating articulated rigid
body dynamics. Typical applications include ground vehicles, legged creatures,
and moving objects in VR environments. ODE is coded in C. The project contains
tools for linking Odejava into Xith3D, OpenMind, and jME. A Java 3D binding is
currently being developed as an offshoot of Project Looking Glass.
Lightweight Java Game Library (LWJGL)
LWJGL is not based on JOGL, but should be mentioned here, because it combines
Java and OpenGL.
LWJGL (http://www.lwjgl.org/) utilizes OpenGL 1.5 with vendor extensions. It
works with the latest versions of Java, so it can use the NIO and full-screen
capabilities of J2SE 1.4. However, it doesn't support AWT or Swing. LWJGL is
quite small, as the name suggests, so it is suitable for devices with limited
resources.
The documentation for LWJGL is a little scanty though ports of the Nehe OpenGL
tutorials have started to appear; they're at the end of the original Nehe
tutorials (http://nehe.gamedev.net).