jReality is a real time 3D visualization focused on mathematical and scientific content. It is written in Java and maintained by a team mainly from the Technical University of Berlin and distributed open source under a BSD licence. jReality offers several uncommon features for a 3D SDK such as:
- support of OpenGL including GLSL shaders through JOGL
- geometry readers for readers for OBJ, STL and 3DS of course, but also for U3D, Mathematica Graphics 3D, JVX
- export in RenderMan® for high-quality stills and movies; and PostScript, PDF and SVG for publications.
- spatialized audio. The audio can then be rendered on a wide range of speaker setups including stereo, 5.1 surround, and arbitrary Ambisonics rigs. The audio rendering pipeline of jReality includes a physically accurate simulation of sound propagation that implicitly creates Doppler effects, as well as support for effects such as reverberation and distance cues.
- An abstract layer for input devices with drivers are for keyboard, mouse, joystick and Trackd® – supporting all popular motion tracking and immersive input devices such as Ascension MotionStar® or A.R.T. DTrack systems.
- Support not only for the traditional “XYZ” euclidean geometry but also for hyperbolic and elliptic/spherical geometry.
These capabilities make jReality a great and easy-to-use platform for 3D content creation and interaction. Typical applications are:
- mathematical / physical real-time interactive experiments
- interactive art and installation
- computer games
Look at this small programming tutorial, it seems so simple …