## OpenGLTM for JavaTM / Overview / Motivation

## 3D in Java Applications/Applets/WebSites

- Todays usage of 3D in serious applications, as well as in games and web pages is rapidly growing.
- Many existing technologies exits for using 3D in the Web:

- Metastream ( -> http://www.metastream.com )

A 3D Object visualisation toolkit / viewer !
Metastream objects can be rotated, zoomed and moved by the user/viewer.
Further interactions are not foreseen.
Big points are:

- High compression rate of the image data
- Integrates perfect in HTML pages (background, shadows, ...)
- High quality texture mapping

- VRML (1.0-97), X3D (-> http://www.web3d.org )

- Scene-Graph organisation / structure
- Interaction / Manipulation via:

- Interpolatiors
- Timers
- Sensors (Collision, Proximity, Time, Touch, Visibility, ...)
- Java Interface

A VRML World can interactive, so you can walk around and have some actions.
The World itself, inclusive the interaction codes can resides within one compressed VRML file.
Many current browsers usually have an VRML viewer, but as a restriction,
the GNU/Linux machines are not supported by default.
- Java3D ( -> http://www.javasoft.com/products/java-media/3D/index.html )

Java3D is a high level 3D API for Java. It may use OpenGL, Direct3D or anything else.
Many features and algorythms of Java3D are implemented in Java itself,
so the performance is not comparable with a native implementation which may also
include geometric hardware unit.
Java3D has a VRML reader/writer, and like VRML, a 3D scene-graph API !

- OpenGL language mappings for Java

Like GL4Java, there exists many OpenGL language mappings for Java ( -> history ) !

All features of the OpenGL language and the Java language are combined in one solution:

- OpenGL's industry standard
- Using todays hardware accelerated graphic cards techniques directly
- Having platform independed high perfomance 3D solutions
- Combining Java's usability and its high amount of API's with 3D