Ogre 3D v1.12.8 Release Notes

Release Date: 2020-07-26 // 9 months 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
    • 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