Ogre 14.4.0 was just released. This release contains some significant bug-fixes and feature additions, which we will discuss in more detail below. We recommend all users of the 14.x branch to update.

For a full overview of the changes, see the changelog.

Table of Contents

Full Layered RenderTarget Support

This release introduces major upgrades to our layered rendering capabilities. You can now efficiently render to multi-layer targets like cubemaps and texture arrays. The key feature, per-rendertarget instancing (VPRT support), enables rendering to all layers of a texture in a single pass. This dramatically reduces draw calls – by up to 6x for cubemapping and 3x for techniques like PSSM3 – addressing a core performance bottleneck in complex scenes.

These improvements are built on several foundational updates:

  • Add support for 2darray and cube shadow samplers in OgreMain
  • Targetting layered textures with the ShadowRenderer to consolidate multiple textures for a light source.
  • Declare texture arrays directly within Compositor scripts.
  • Using layered textures in the RTSS ShadowMapping SRS for more efficient binding.

This new API expands on the instanced stereo concept from Ogre-Next, scaling it from two targets to a flexible N-target system.

Achieving this required extensive cross-component development in RTSS, RenderSystems, and core architecture. This was made possible through the sustained support of the Patreon community – i.e. this work was sponsored by you.

Initial Icon Font Support

Ogre now supports using Icon fonts by merging them into your main font. For this the “merge_font” property was added to the font scripts, which specifies the font to merge into the current one.

Check out the screenshots above to see the difference it makes in the meshviewer!

New Bone Debug Drawing

The latest update introduces a new debug drawing, inspired by tools like Blender.

Instead of just seeing individual bone matrices, you’ll now see the connections between bones, making the bone hierarchy instantly clear. This also means the axis visualization is always perfectly sized – it automatically scales to the next child bone, so you’ll never struggle with tiny axes again!

Improved Bullet Component

Thanks to a valuable contribution from user slapin, the Bullet Component now supports Terrain (heightfield colliders) and features a simplified API for kinematic (user-controlled) objects.

Ecosystem: OgreWater now runs everywhere

Thanks to some crucial groundwork laid by slapin (again), I’ve successfully ported OgreWater to the OgreUnifiedShader macros.

This means, that OgreWater now runs on every RenderSystem available in Ogre, including the modern Vulkan API – instead of being restricted to D3D9 and D3D11.