Highlights
- Image Based Lighting provided by the RTSS
- Terrain shaders generated by the RTSS
- significantly improved shadowing quality
- Rust based image codec
- Compute shader & UAV support for D3D11
What's Changed
- Main
- Implement a fallback for Ogre::Font::getGlyphInfo() (#2689)
- add scripting support for unordered image access
- assert that object was attached when detaching
- auto-instancing - improve case when overwriting TEXCOORD1 in mesh
- ConvexBody - deprecate logInfo()
- correctly export typeinfo for Vector
- deprecate TUS::hasViewRelativeTextureCoordinateGeneration
- ETCCodec - fix handling unsupported formats
- factor out logMaterialNotFound
- fix array autoconstant corruption with CONFIG_DOUBLE
- HardwareBufferManagerBase - drop makeBufferCopy
- improve error message, when there is no active CompositorChain
- LiSPSM - drop obsolete workaround
- make normal textures available to compute shaders
- MeshSerializer.exportMesh - organize overloads and support MeshPtr
- NumericAnimationTrack - const correctness and inline accessors
- PF_R11G11B10_FLOAT is not native endian
- provide numMipMaps in ACT_TEXTURE_SIZE .w
- range loop refactoring (#2686, #2697, #2708, #2716, #2727, #2732)
- remove unused iterator instantiations
- rename TU_UAV to TU_UNORDERED_ACCESS
- Script - rename unordered_access > unordered_access_mip
- ShadowRenderer - cull cam must be updated after pose is set
- ShadowRenderer - fix shadow culling frustum getting stuck
- ShadowRenderer - use shadow pancaking, if possible
- Texture - support alternative cube face naming and recommend it
- update precompiled header
- validate TextureUnitState TexCalc settings
- validate texUnit against caps in _setTextureUnitSettings
- Revert "Quaternion - always use float storage"
- Fix compiler errors when OGRE_CONFIG_THREADS is set to 1
- UnifiedShader: add textureCubeLod
- Dependencies: update SDL2, Assimp
- SWIG: wrap DefaultHardwareBufferManager
- RTSS
- add 2 argument callBuiltin overload
- add Image Based Lighting SRS
- allow creating structs in generated code
- also redirect writes to globals on HLSL
- correct handling of isTextureLoadFailing
- FFPTexturing - move trivial blend functions to cpp
- FFPTexturing - serialize late_add_blend by default
- FFPTexturing - simplify env_map reflection
- FFPTexturing - simplify env_map texcoord generation
- FFPTexturing - simplify projective texturing
- fix integer float mul, which GLSLES dislikes
- IBL - assume hwgamma to correctly handle HDR envmaps
- IBL - fix DFG LUT lookup
- merge HLSL and CGProgramWriter
- move serialization code to SGMaterialSerializerListener
- normal mapping - apply tangent parity bit
- refactor PBR lighting stages using a PixelParams struct
- slightly update CookTorrance shader
- Terrain
- use RTSS to generate main & composite techniques
- blendTerrainLayer - early out, if blending would have no effect
- correctly blend normalmap layers
- deprecate ReceiveDynamicShadowsDepth
- do lighting in view space, matching the RTSS
- do not cast dynamic shadows by default
- Tools: AssimpConverter - also export RTSS sections in material
- Plugins
- Assimp - prepend mesh name to material
- add new Rust Image Codec
- RenderSystems: drop unused OgreMain includes
- GL*
- drop unused HardwareBufferManager::getStateCacheManager
- slightly clean up StateCacheManager
- unify more of GLSLProgramManagerCommon
- GL3+
- fix PF_R11G11B10_FLOAT support
- StateCache - disable state caching that breaks multi-context use
- GLES2
- correctly enable TAM_BORDER, when possible
- Remove "using namespace Ogre" from a header (#2690)
- Vulkan
- implement _setDepthClamp
- implement HBL_NORMAL for HardwarePixelBuffer
- implement SRGB support
- D3D11
- correctly handle PM_POINTS
- enable support for PF_R11G11B10_FLOAT
- follow the common unordered access API
- implement _dispatchCompute and UAVs
- D3D9
- do not clamp texunits to FFP limits
- Texture - correctly report number of mipmaps with TU_AUTOMIPMAP
- Docs
- AnimationTrack - fix duplicated and outdated note
- update 13-Notes with 13.6 changes
- Samples
- disable DragLook for iOS at single place
- Dot3 - show RTSS materials first
- drop no longer used SampleLib_ReflectionMap
- fix LightShafts after shadow camera changes
- PBR - fix compilation with double precision
- PBR - fix reflections with glTF2 and Filament
- remove material export from ShaderSystem sample
- ShaderSystem - replace ReflectionMap by IBL SRS
- use new IBL cubemap and clean up IBL sample data
- use RTSS for Examples/BumpMapping/MultiLightSpecular
- Tests
- add test for NumericAnimationTrack
- Test Quaternion double precision
- PlayPen - fix IntegratedPSSM test
- allow taking screenshots, when run in SampleBrowser
- shut down current test before starting the next
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: