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.


  • 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)


  • 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).