We just tagged the Ogre 14 release, making it the new current and recommended version. We would advise you to update wherever possible, to benefit from all the fixes and improvements that made their way into the new release.
This release represents almost 2 years of work from various contributors when compared to the previous major 13 release. Compared to the last Ogre minor release (13.6), however we are only talking about 6 months. Here, you will mainly find bug-fixes and the architectural changes that justify the version number bump.

Table of Contents

For source code and pre-compiled SDKs, see the downloads page.


The big feature additions like Vulkan support, PBR, IBL, automatic instancing and Bullet Physics integration all landed as 13.x point releases.

The 14 release focuses on preparing the codebase for future development and fixing architectural issues. Nevertheless, there are also some interesting new features.

Due to the API stability efforts in the 13 release, Ogre 14 is 84% source compatible to Ogre 13, which is the highest compatibility between major releases that we achieved so far.

For an detailed overview of the changes see the New And Noteworthy Document. Among the highlights are:

Parallax occlusion mapping

Thanks to the contribution of Alexander James Reed, Ogre now supports parallax occlusion mapping (POM) in addition to the ordinary parallax mapping we had before.

POM allows you to use much larger displacements without getting artefacts. This allows for some very believable surface effects without needing to add any triangles.
But it comes at a price as the texture needs to sampled multiple times for this.

Since the Terrain Component was ported to the RTSS, POM is also easily available there.

Task-based WorkQueue

The WorkQueue API was changed from request/ response style to a task-based style. I.e. instead of sending messages between threads, the actual work is send as a callback, like

Root::getSingleton().getWorkQueue()->addTask([]() {
    printf("Hello World!\n");

At this, the custom ticketing mechanism of ResourceBackgroundQueue was replaced by the more modern use of std::future. So you can now do

std::future<void> futureTex = rbq.prepare(tex);

Reduced shader recompilation with RTSS

If you are using the RTSS to generate shaders, the times where a new shader needs to be compiled was reduced. This was accomplished through the dynamic evaluation of light types, as opposed to the creation of a separate shader variation for each type of light. As a result, if a point light is changes to a spot light, the existing shader can be reused.

Improved MeshLodGenerator

The Ogre MeshLodGenerator Component allows you to instantly generate LOD data for your meshes – if you then strip the LOD0, this rapidly compacts the mesh size.

Thanks to a contribution by the user “chillywillysoft”, the component now also support line primitives and correctly handles the boundaries between SubMeshes.

SDK Updates

The Windows SDK is now built using the v142 toolset, essentially requiring at least VS2019. This was needed to build the OgreBitesQt component with Qt 6.2 instead of Qt 5.12.

The Android SDK API level was bumped from 16 to 19, as support from the former was dropped from NDK25.

The PIP packages for macOS are now built for arm64 instead of amd64. Ogre 13.6.5 is the final PIP release with intel CPU support. Of course, you can still build the PIP package yourself for different python and CPU support.


We would like to thank everyone who helped us make this release possible. The following list shows a list of contributors for Ogre 14 based on the git logs (by number of commits):

Pavel Rojtberg, Joilnen, chillywillysoft, Joseph Artsimovich, Erik Ogenvik, Ferdinand Thiessen, Kirill A. Korinsky, Marcel Bulla, Kenji Brameld, Stefan Roellin, Frank Goyens, Jan Geyken, Matias N. Goldberg, T.Sang Tran, creadmefford, mosfet80, Abyss, Alexander James Reed, Benson Muite, Biswapriyo Nath, Dan Church, Dmitry Lyzo, Edgar, Eugene Golushkov, Fernando Tonon de Rossi, Fighter19, Guillermo Ojea Quintana, Hill Ma, Jack·Boos·Yu, Joakim Haugen, Julien Voisin, LMCrashy, PaliPalo, Petr Ohlídal, Pierre, SiHuaN, Th3V1kt0r, blakharaz, cryham, jim wang, jordivg, ningit, ronaldta, sercero, tritonas00

Ogre 13.6.5

If you are currently deep in the development cycle using 13.6 and do not want any disruptions, I have good news for you: relevant bug-fix only commits were cherry-picked from master (14) to 13.6 and accumulated in the binary-compatible 13.6.5 release, which you can find here.