The 1.11.5 release marks the final (planned) release for the 1.11 series and kicks off the 1.12 cycle that will allow us to break the API. As announced in the mid-term report we will drop some of the deprecated functionality.
But the 1.11.5 release has also some highlights on its own, namely
Vastly improved binding coverage
Our language bindings (Python, Java, C#) are now almost as complete as our C++ API. The Ogre Mesh Viewer and the 1.11.5 release mark a new milestone here.
Ogre Mesh Viewer
Ogre Mesh Viewer is as the name suggests a viewer for ogre mesh files. It is written purely in python and not only showcases the bindings, but also how to integrate external C++ components (ImGui in this case).
The notable features are
- display mesh properties (bounds, referenced materials)
- highlight submeshes in 3D view
- preview linked animations (skeleton and vertex)
- Integrates with blender2ogre as a previewer
- open source and MIT licensed
C#/ .NET component
Furthermore I finally came to finishing the Csharp bindings which now join Java and Python in the set of official bindings.
Note that while this component obsoletes MOGRE it does not really replace it as no efforts were spent on backwards compatibility. Notably you have to use getters/ setters instead of properties.
Also the component was only tested with Mono on Linux so far, so there are probably are still some rough edges.
Energy conserving reflections
The major rework of the RTSS component during this cycle finally starts to pay off. So as a first step to Physically Based Shading for 1.x materials there is now the energy conserving blinn-phong BRDF, which you can use as
rtshader_system {
lighting_stage per_pixel normalised
}
See the reference manual for the syntax and this article for what it does. In short this will give you roughly the appearance of PbsBrdf::BlinnPhong of v2-1 (except for the fresnel term).
Optionally you can still specify ffp as the stage to keep the computations per-vertex which shows the true flexibility of the RTSS.
Improved Math performance
Many math related function definitions were moved to the header allowing the compiler to inline them. This reduced our frametimes by 10% in scenes with many objects (culling bound) and improves overall performance.
For the full list of bugfixes and changes – as always – see the release notes.