Version 2.0 is a major release, covering more than three years of continuous effort.
Here are listed only the main additions of this release. For a more complete list, please have a look to the release notes.
Major Changes for the Crystal Space SDK
|Advanced Rendering||Advanced Physical Simulation|
| The rendering engine, the lighting and the shader systems have all received many improvements.
A new 'render manager' abstraction has been added, abstracting the rendering method used to display the scenes.
A new post-effects system has been added, as well as support for Pixel Buffer Objects and mesh and mesh factories instancing.
|The physics plugin based on the Bullet library has been completely re-written, and has now became the default physics plugin instead of ODE.
Many new features have been added to this plugin, such as soft bodies, kinematic objects, terrains and hit beam tests, and many external tools have been added to help the creation, manipulation and animation of those objects.
|Deferred Shading||Advanced Skeletal Animation|
|A new 'deferred' render manager has been added, allowing far more dynamic lights in a scene than the traditional 'forward shading" methods.||The Animesh has received a lot of improvements and new functionalities, starting with many optimizations, animated decals and a physical description of the animesh.
Many new animation blending nodes have been added: ragdoll, LookAt, inverse kinematics, speed warping, animation retargeting, and visual debugging.
Many other tools have been added to help defining and manage the Animeshes, such as a BVH motion capture loader and viewer, and tools to converse from static to dynamic meshes.
|Radiosity Pre-Lighting||New meshes|
|The 'lighter2' application, dedicated to the pre-computing of the lighting of a scene, has been extended with a radiosity system, allowing far more realistic lighting.||New mesh types have been added:
|Visibility Culling and Level Of Detail||Assets|
|A new culler has been added, 'occluvis', implementing hardware occlusion visibility culling.
Several new solutions for Level Of Detail management have been added, with a new imposter system replacing automatically 3D meshes by 2D images, and a new progressive Level Of Detail system for a continuous transition between the various levels of detail of a mesh.
|A new threaded loader has been added, for the background loading of meshes and other resource files.
A new loader plugin has been added, based on the Assimp library, allowing to load into Crystal Space static and animated meshes from a wide range of different file formats.
A new add-on script has also been added to export data from the Blender 2.6x series and above. The Autodesk 3ds Max export process has been improved, and a new exporter plugin has been added for the PnP TerrainCreator editor.
|Terrain2 and Mesh Generator Improvements||More Demos and Tutorials|
|The multi-splatting shaders of the 'terrain2' plugin have been improved, as well as the mesh generator. This allows for huge, realistic terrains, filled with foliage and rocks. Terrains have also received new tools to modify and edit them.||A lot of demos, tutorials, tool and test applications have been added.
The 'startme' application has been almost completely re-written for a nicer an a more usable User Interface. Many other applications have been widely improved.
Several tool classes have been added to help the creation of new applications and to give a overall coherence between the demos of Crystal Space.
|Graphical User Interfaces||Miscelanous Additions|
Major Changes for the Crystal Entity Layer (CEL)
|Hierarchical Path Finding||New Messaging System|
|A Hierarchical Path Finding system has been added, integrating the Recast & Detour library, and allowing to navigate in huge scenes split in several sectors.||A new event messaging system has been added, allowing complex communication mechanisms between the entities and property classes.|
|An implementation of behavior trees has been added, allowing to define and manipulate easily the behaviors of artificially intelligent entities.|