Download Latest Version v1.12.9.zip (128.1 MB)
Email in envelope

Get an email when there's a new version of OGRE (O-O Graphics Rendering Engine)

Home / v14.5.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-01-10 7.0 kB
v14.5.0 source code.tar.gz 2026-01-10 94.1 MB
v14.5.0 source code.zip 2026-01-10 96.2 MB
Totals: 3 Items   190.3 MB 0

Highlights

  • Correct Colors: Automated Linear Workflow
  • Unifying Shader Precision: Relaxed Precision Support
  • multisampled MRT support on GL3/ GLES2 RenderSystems
  • Cg now supports HLSL parameter, for easier porting
  • Numerous underlying performance optimizations

Details in announcement post

What's Changed

  • Main
    • add support for multisampled textures
    • AutoParamDataSource - add fastpaths for Light arrays
    • clean RSC_RTT_ naming, deprecate unused flag
    • ColourValue - add gammaToLinear
    • Compositor - only swap on last consecutive target pass
    • DepthBuffer - deprecate changing poolId
    • GpuProgramParams - simplify _copySharedParamsToTargetParams
    • add GpuProgramParameters::setUseLinearColours
    • Pass - inline the trivial GpuProgram aliases
    • QueuedRenderableCollection - workaround crash on dead pass
    • RenderQueue - clean up material loading
    • RenderSystem::initialiseFromRenderSystemCapabilities is now optional
    • RenderSystem - use more specific depth pools
    • replace DepthBuffer::POOL_ by RBP_ flags
    • Resource - buffer a copy of ListenerList before iterating callbacks so it can be modified by the callbacks
    • Resource - fire preparingComplete() callback when preparing in load().
    • SceneManager
      • call _beginFrame before clearing
      • clean up destroySceneNode overloads
      • disable depth writing for sky box material as well
      • disable per-renderable lights by default
      • drop unused destroyShadowTextures()
      • more descriptive ShadowTexture naming
      • shadow textures should be always created
      • convert clear colour for HardwareGamma targets
    • Script - deprecate shared_param_named in favour of param_named
    • TextureShadowRenderer - notify SM about tex creation
    • TextureShadowRenderer - simplify NullShadowTexture creation
    • Viewport - deprecate clear()
    • Material: make recompile equivalent to unload
    • Light - default to quadratic spotlight falloff
  • CMake
    • comment out Cg on Win32, so SDK starts without Cg installed
    • comment out D3D9 on MSVC, so SDK starts without DX SDK installed
    • Dependencies: Upgrade SDL2 to 2.32.10 (#3482)
  • RTSS
    • add sampler param to metal_roughness
    • add tex_coord_set param to metal_roughness
    • annotate some calculations as highp
    • cloneShaderBasedTechniques - ensure prepare works
    • enable use relaxed precision on D3D11
    • implement uv mixing for FFP texturing
    • justify fixed reflectance
    • make uvmixing more customizable
    • PerPixelLighting - use highp for specular highlights
    • add FFP_PS_PBR_LIGHTING enum values
    • do alpha testing right after texturing
    • add macros to fully operate in linear colour mode
    • allow shaders to target a linear colour space for sRGB
  • UnifiedShader
    • allow relaxed precision on D3D11
    • only enable highp, when it is safe
    • refactor and document f32vecN
    • also use relaxed precision on Vulkan
  • Bites: add support for joysick buttons and joystick hat. (#3528)
  • MeshLOD: OutputProviderBuffer - fix segfault
  • Overlay: relax Z-Ordering to improve batching
  • HighPy: allow using entities
  • Paging: Prevent page unload crash
  • Bullet
    • KinematicMotionSimple: provide more information about body status
    • Bullet: build without "_Debug" postfix so find_package finds it (#3475)
    • Remove heightmap colliders from visualization
    • Support manual narrow phase for ghost objects
    • track floor
  • Terrain
    • fix D3D9 error when rendering the composite map
    • get rid of WorkQueue::Request wrapping
    • use future instead of a spinlock to wait for derived data
    • respect linear colours RTSS setting
    • enable composite map gamma if needed
  • Codecs
    • STBI - fix buffer size when conversion is needed for encode
    • RsImage - add webp to supported formats
    • Assimp
      • correctly read UV >0 data
      • support multiple UV layers (#3468)
  • DotSceneLoader
    • implement prefix to load scene more than once
    • allow working without RenderSystem running
  • Cg:
    • allow processing preprocessor_defines
    • correctly map ps_2_x
    • handle "target" as an alias to "profiles"
  • GLSupport
    • add getActiveRenderTarget & bindRenderTarget
    • bindSurface - correctly restore previous target
    • drop destroyRenderWindow
    • replace RBKey by HashCombine
    • unify GLFBORenderTexture
    • unify GLMultiRenderTarget
    • Win32 - do not override mDepthBufferPoolId
  • GL*
    • replace local msaa renderbuffer by respecting poolId
    • use lazy FBO creation to source fsaa from target surface
    • Window - use RBP_NONE instead of a dummy depth buffer
    • drop misleading comments
  • GL3Plus
    • autodetect shader sampler bindings
    • use delayed shared_params binding
    • do not create empty HW shared_params
    • GLSL - respect shader defined buffer binding points
    • allow multisampled MRTs
  • GLES2
    • allow multisampled MRTs
    • renderbuffers with different resolutions are allowed with 3.0
  • GLES2/ GL3+: invalidate render buffers when possible
  • GL: avoid warnings when using Copying and PBuffer RTT
  • D3D11
    • use delayed shared_params creation
    • HLSL - correctly handle MIN16FLOAT
    • HLSL - fixed bad dealloc (#3451)
    • reapply scissor rects, when switching render target
  • Vulkan
    • drop unused textype to view mapping
    • fix Window resizing on Xlib
    • Window - fix hwGamma not being properly reported
  • Docs
    • fix PixelFormat documentation
    • improve WorkQueue documentation
    • RenderTarget - update effects of swapBuffers
    • update destroySceneNode docs
  • Samples
    • allow using NightVision and OldTV as hlsl
    • clean-up bump mapping materials
    • clean up Examples/Athene/NormalMapped mat
    • CSM - allow running as HLSL
    • Deferred - fix GLES precision issues
    • Deferred - fixup after using unified shader
    • Deferred - workaround for deleted passes in render queue
    • drop unused StdQuad_Tex3/4
    • fix LightShafts crashing
    • GaussianSplatting - use generic sorting
    • port HDR to unified shader
    • SSAO - merge HLSL and Cg shaders
  • Tests
    • PlayPen_VertexTexture does not run on glsles
    • convert NonUniqueResourceNames VTest to Unit Test
    • convert SerialisedColour VTest to Unit Test
    • VTests
      • always use OgreVTests as app name
      • ensure MSN_SHADERGEN is used when needed

Development is funded by your contributions

If you use Ogre commercially, consider supporting its development in return:

Source: README.md, updated 2026-01-10