jmonkeyengine - 3D mit Java
jmonkeyengine ist eine freie Java-3D-Engine welche vor kurzem in der Version 1.1 erschienen ist. Mit jmonkeyengine ist es auch Java-Entwicklern möglich ansprechende 3D-Inhalte zu generieren und einzubinden. Hierbei wird eine große Auswahl an 3D-Formaten unterstützt, auch sind schon einige Erweiterungen wie eine Physik-Engine und ein Editor verfügbar. Auf der Homepage von jmonkeyengine gibt es eine beträchtliche Anzahl von Grafikdemos. Damit mausert jmonkeyengine sich zum Game-Development-Toolkit für Java Entwickler.
Anbei eine „kurze“ Auflistung der unterstützten Features:
Sample Applications
- Game system allows for maintenance of the main game loop
- SimpleGame provides a quick entry point for proof of concepts
- GameState provides ability to change game states (menu, game, credits, etc)
Embedded Integration
- Java Applet
- AWT/Swing
- SWT through user code
Import / Export
- Fast and compact jME binary format
- Extensible to allow other import/export formats (XML is planned)
Bounding System
- All geometry can be enclosed in a bounding system.
- Boxes, Capsules and Spheres.
Curves
- Bezier curves can be used for node controlling.
Bezier Mesh
- For smooth curved surfaces.
- Font Meshes
- Ability to generate 3d meshes from fonts.
Effects
- GLSL Shader Support
- Vertex and Fragment Program Support (ARB Shaders)
- High Quality Water with configurable reflection, refraction, wave generation, etc.
- Bloom
- Extensible Particle System.
- Lens Flare.
- Cloth Simulation.
- Screen tinting.
- Texture based dot3 bump-mapping
Image Loading
- Support BMP, uncompressed TGA, JPG, PNG, GIF, DDS.
Texture System
- Supports mipmapping, environmental mapping, multitexturing.
Input System
- Robust system allows for easy creation of input actions.
Collision and Picking
- Efficient bounding volume and triangle accurate picking and collision.
Lighting System
- Handles up to eight lights at a time with utilities for optimal light selection.
- Supports directional light, spot light and point light.
Shadow System
- Z-Pass Shadow Volumes.
Math Library
- Provides faster system for linear algebra
- Use of look up tables.
Level of Detail
- Discrete Level of Detail using a switching mechanism for fast model switching.
- Continuous Level of Detail dynamically collapses triangles of a single model.
Model Loading
- COLLADA, 3DS, Obj, MD2, MD3, Milkshape, ASE support.
- Supports skin and bones and weighted skeletal animation.
Shape Primitives
- Box, Sphere, Cylinder, Capsule, Torus, Arrow, Disk, Hexagon, Dodecahedron, Icosahedron, Octahedron, PQTorus, Pyramid and Quad support.
State System
- Minimizes OpenGL state changes by tracking and managing the status of the OpenGL machine.
- Allows merging of Texture and Light states in the tree.
Camera System
- Maintains camera as a separate object or a node in the scene.
- Frustum culling for efficiency.
Renderer Abstraction
- Allows for any rendering API to be implemented.
- Currently LWJGL 1.0 implemented.
Render Queue
- Sorts scene elements based on Opacity. Opaque are sorted front to back and rendered first, then transparent is sorted back to front, last screen elements are sorted by z depth.
Render to Texture
- Render any scene to a texture object (currently requires FBO support)
Imposters
- Render to texture used to display a single model to a texture, can be animated as slow as needed to increase frame rate.
Billboard Node
- Keeps a node facing the camera
Sound
- Supports OpenAL and FMOD
- Music queue system
Terrain
- Terrain blocks act as single geometry.
- Terrain Pages implements a Quad tree of Terrain blocks.
User Interface
- JMEDesktop System allows rendering of Swing components in jME scenes.
Kommentar schreiben: