Platforms
Platforms supported
- Windows
- Mac
- Linux
- Android
OpenGL versions supported
- OpenGL 1.x/2.x/3.x/4.x
- OpenGL Es 1.1/2.0
OpenGL apis supported (*)
(*) We recommend using latest LWJGL and Android's OpenGL Es 2.0.
General features / 3D model formats
General engine features:
- Geometry: triangle, polygons (concave/convex), accelerated rendering and hardware data storage
- Mesh hierarchy and LOD (Level of Details)
- Biped/Rigged models
- Animation: keyframe, morphing, morph target and skinning (CPU and GPU with GLSL)
- Animation (advanced): animation state machine using anim graph, skeletal animation retarget
- Material: color, transparency and texture maps (opacity, normal, specular, reflection, refraction, height maps), 2 uv sets
- Material (advanced): fully customizable material using material graph (material backed with glsl shader code)
- Shader: support for vertex, fragment, tesselation and compute shaders
- Lighting: forward and deferred lighting, light assignable per object
- Asset manager: asynchronous loading, asset reference counter (with automatic unreferenced asset unload support)
- Collision: box, sphere, cylinder, capsule, convex hull and concave mesh collision shapes (powered by Bullet physics and V-HACD)
- Physics: rigid and soft body dynamics (powered by Bullet physics)
- Game: scene graph with component based system, scriptable game objects and rendering (editor integration in progress)
The engine support reading the 3D model formats:
You can use 3D models from most 3D modeling software, model/mocap store and services content company.
Plugins
- SkyX plugin port for Bonzai engine. "SkyX is a photorealistic, fast and easy to use sky and clouds plugin"
Texture formats
Read/Write support is provided for all formats:
- DDS Direct Draw Surface with support for cubemap, float/half-float texture and S3TC (DXT1/DXT3/DXT5 aka BC1/BC2/BC3), 3Dc/RGTC/LATC (ATI1/ATI2 aka BC4/BC5), and ETC1 (OpenGL Es/Android) compressions
- TGA Targa format
- PSD Photoshop format (layers not supported)
- Other formats: BMP, JPG, PNG, GIF, ... (ImageIO on desktop, BitmapFactory on Android)
- Optimized format: TEX is a binary format containing a DDS texture with higher file compression and encryption (optional)
Plugins
- Visibility: frustum culling, depth sorting, LOD and octree
- Unified pluggable IO api to read and write respectively from and to: file system, jar, zip, gz and lzma; and read from class loader and network (http, https, ftp)
- UI/Widgets with OpenGL based rendering UI system
- Widgets: label, button, slider, check box, radio button, combo box, panel, scroll pane and popup.
- Events: mouse, key, mouse wheel and focus events listener (Swing alike)
- Layout manager (vertical/horizontal and grid layouts)
- Theme support: fully customizable widgets, two default themes available (one theme is a third party)
- Xml/Json support: layout and theme can be stored/read in easy editable xml/json file, annotation to auto-bind layout file with a class
- Asynchronous ui texture loading and support of atlas texture (texture packing, sprite)
- Procedural: noise, filter and expression api to generate procedural 2d/3d images and arrays
Integration in third party software
The engine has been sucessfully integrated in various software, such as NASA World Wind Java (WWJ) and other proprietary / professional softwares (on desktop and android devices).