Please also see the feature status document
for information about the stability / maturity of the features listed here.
Productivity
features - Simple, easy to use OO interface designed to minimise the
effort required to render 3D scenes, and to be independent of 3D implementation
e.g. Direct3D/OpenGL/Glide etc.
- Extensible example framework makes getting
your application running is quick and simple
- Common requirements like
render state management, hierarchical culling, dealing with transparency are done
for you automatically saving you valuable time
- Clean, uncluttered design
and full documentation of all engine classes
Platform
& 3D API support - Direct3D and OpenGL support
- Builds on
Visual C++ 6 and Visual C++.Net on Windows (with STLport)
- Builds on gcc
3+ on Linux (or gcc 2.9x with STLport)
Material /
Shader support - Load textures from PNG, JPEG or TGA files, MipMaps generated
automatically, resizes maps to align with hardware requirements
- Procedural
texture coordinate generation (e.g. environment mapping) and modification (scrolls,
warps, rotations)
- Unbounded number of texture layers with many texture
blending effects, animated textures
- Multitexturing hardware used to best
effect automatically, combined with automatic fallback to mulitpass rendering
- Object
transparency and other scene-level blending effects
- All defineable through
text scripts to allow you to set up & tweak advanced materials without recompiling
Meshes - Flexible
mesh data formats accepted
- Export from Milkshape3D direct to OGRE .mesh
and .skeleton format
- Skeletal animation (including blending of multiple
animations)
- Biquadric Bezier patches for curved surfaces
Scene
Features - Highly customisable, flexible scene management, not tied to
any single scene type. Use predefined classes for scene organisation if they suit
or plug in your own subclass to gain full control over the scene organisation
- Generic
SceneManager hierarchically culls by bounding volumes
- Example plugin (BspSceneManager)
specialises to allow fast indoor renders, loading Quake3 levels inc. shader script
parsing support
- Hierarchical scene graph; nodes allow objects to be attached
to each other and follow each others movements, articulated structures etc
Special
Effects - Particle Systems, including easily extensible emitters and
affectors (customisable through plugins). Systems can be defined in text scripts
for easy tweaking. Automatic use of particle pooling for maximum performance
- Support
for skyboxes, skyplanes and skydomes, very easy to use
- Billboarding for
sprite graphics
- Transparent objects automatically managed (rendering order
& depth buffer settings all set up for you)
Misc
features - Common resource infrastructure for memory management and loading
from archives (ZIP, PK3)
- Flexible plugin architecture allows engine to
be extended without recompilation
- 'Controllers' allow you to easily organise
derived values between objects e.g. changing the colour of a ship based on shields
left
- Debugging memory manager for identifying memory leaks
|