Small in size, no dependencies, all ships in one package, no windows registry use, nor any other directories are polluted.
LUA fully scriptable, allows dll loading for additional functions.
Helpers runtime console and performance graph to aid development. Allow direct access and manipulation of lua state
Backend FixedFunction or Vertex/Pixel Shaders, use Cg for HighLevel? shaders. OpenGL? is used to make best use of hardware.
Shaders/Materials extensive script to define material and shader effects. Lots of states like fog, blending... controllable
Shadows with stencil buffer or depthmaps
Lighting single sun light, and up to 3 closest range effect lights per node. Shaders can be customized for a variety of lighting effects.
Render queue scriptable system to change render-targets and organized rendering in layers. Setup complex render-to-texture effects. Make use of multiple render-targets at once, or rendering to floating point textures for HDR. Allows flexible post-processing effects.
Static/Dynamic nodes linked to visual representation. Allows to organize spatial and visual information separately
Settings visual world split in settings and views. Each set has own lights, cameras, particles.
3D & 2D special node types for 3d scene or 2d ortho rendering, such as GUI or HUD elements. Many different render nodes, trails, models, particle groups, primitives (box,cylinder...)
Models animated or static. Can be rigid animated or weighted skinned. Skeletal bone hierarchy within a model.
Animation Allows blending and partial hierarchy updates, as well as different interpolation methods. Simple IK solver built-in.
Sound play wav files
Shaders script once, reuse for multiple materials. Allows automatic GPU-Shader parameters, as well as pernode shader values. Organized in techniques to make best use of hardware spanning over multiple hardware generations.
Materials Define a set of textures and values to be used with certain shaders.
Particles script dynamic systems in advance, which can have forces and runtime effects such as magnets applied. Or generate particles manually useful for placing instanced meshes such as trees and rocks. A variety of age-based effects can be achieved and different types of rendering methods used.
Textures create textures at runtime, useful for render-targets, or load from files. 1D,2D,3D Cubemaps and rectangle textures can be used.
Tiletexture terrain a special height-map based terrain typ that uses texture tiles like in classic 2D games for surface effects. Automatic subtile picking based on neighborhood.