Ogre 3D v1.12.8 Release Notes
Release Date: 2020-07-26 // almost 3 years ago-
Main
- update ShadowTextureConfig with actually chosen texture format
- add RSC_TEXTURE_2D_ARRAY and fix array texture detection/ handling
- add OgreUnifiedShader.h and unify ShadowVolume shaders
- HighLevelGpuProgram - correctly resolve #include in #include
- pass native shader version to shaders as e.g. OGRE_HLSL=4
- ShadowRenderer - improve default caster material for PF_DEPTH use
- ShadowRenderer - handle dynamically changing RTSS caster materials
- ASTCCodec - fix typo in validating blockDims
- deprecate shadow_receiver_*_program_ref
- document the current lighting and material model
- fix RENDER_QUEUE_MAX being treated as RENDER_QUEUE_COUNT
- HardwareBuffer - guard lock usage with runtime asserts
- MaterialSerializer - escape special chars in material attributes
- Material - turn isManual notice into warning
- Pass - hard deprecate setShadow*Program
- unify and deprecate RenderSystem::_createRenderWindows
- unify RenderSystem::_createRenderWindow checks & log output
RTSS
- include OgreUnifiedShader.h unconditionally
- always write GLSL types - will be handled by UnifiedShader defines
- HLSL - support Shadow & Array samplers
- PSSM - slightly refactor shader invocation
- PSSM - use 4 taps for HW PCF too, configurable split count
- TextureAtlas - GLSLES compatibility
- unify ShaderLib as GLSL and improve OgreUnifiedShader.h
- use #include based dependency resolution for GLSLES as well
Bites: respect selected monitor, when creating SDL window
Overlay: use cmake to download imgui instead of git submodule
SWIG: add read access to elements of Matrix4 (#1608)
🏗 DotSceneLoader: appease unique_ptr destructor when building w/o Terrain
📜 Tools: simplify argument parsing & use logError for error reporting
Python
- allow using buffer types instead of raw pointers
- allow using sequences instead of Vector and ColourValaue
D3D11 & D3D9
- use sane fallback if no "target" is set
- use sane fallback format for PF_DEPTH*
D3D11
- fix HRESULT formatting in exception description
- fix wrong d3dcompiler version, when compiled with MinGW 9.3
- introduce OGRE_CHECK_DX_ERROR macro to reduce boilerplate code
- PF_DEPTH texture support
- reversed-depth fixes
📄 Docs
- add citation for Terrain LOD algorithm
- disable inlining inherited members
- fix Pass references in ACT_SURFACE_ALPHA_REJECTION_VALUE docstring
- fix warnings uncovered by doxygen v1.8.17
- hide friend compounds
- hide ogre internal defines from function signatures
- Manual - MeshUpgrades does LOD, not XMLConverter
- move ComPtr to D3D11 module
- specify unit of "rotate" in material scripts
- use named member groups to improve readability
Emscripten
- implement graceful degradation from WebGL2 to WebGL1
- CMake: precompiled headers do not work on emscripten
GL*: use sane fallback format for PF_DEPTH*
GLES2
- enable PF_DEPTH16 with WebGL2
- ignore GL_OES_vertex_array_object on emscripten
👍 GLSupport
- make
__VERSION__
available in preprocessor - CPreprocessor: forbid numerical defines
- make
Samples
- Browser - do not add Trays UI to Unit Tests
- clean up Bumpmapping sample
- Csharp - add Windows.Forms integration sample
- Emscripten - add PSSM/shadow_caster material
- LightShafts - port from Cg to OgreUnifiedShader
- request PF_DEPTH for shadow mapping, where possible
- ShaderSystem - fix LayeredBlending controls
✅ Tests: clean up TextureShadowsTransparentCaster VTest