Ogre 3D v1.12.5 Release Notes

Release Date: 2020-02-16 // about 1 year ago
  • โ†ช Note: imgui is not included - workaround

    • Main

      • Box - introduce getSize & getOrigin convenience functions
      • deprecate Codec::dataType()
      • deprecate HardwareUniformBuffer methods
      • deprecate multiple map iterator wrapper accessors
      • deprecate Renderable::RenderSystemData
      • deprecate shadow_caster_*_program_ref for shadow_caster_material
      • deprecate texture_alias in favor of script variables
      • deprecate RSC_VERTEX_PROGRAM & RSC_FRAGMENT_PROGRAM
      • make RSC_ATOMIC_COUNTERS an alias for RSC_READ_WRITE_BUFFERS
      • StringConverter - deprecate converting ColourBufferType
      • Entity - replace @copydoc comments by explicit override annotation
      • Frustum - introduce Corners typedef for Vector3[8]
      • GpuProgram - correctly do parameter creation in postLoadImpl
      • GpuProgramParameters - parse index instead of using dummy entries
      • GpuProgramParams - avoid dirty flag on download & unify error msgs
      • GpuProgram - skip loadImpl and postLoadImpl on compile error
      • HardwarePixelBuffer::blit - rewrite with blitToMemory
      • HighLevelGpuProgram - fix line numbers when handling #include
      • HW BufferManager - provide default impl for non essential buffers
      • InstanceBatchShader - make performance warning actually a warning
      • merge HW Uniform and Counter Buffers
      • refactor RenderSystemCapabilities logging
      • ScriptTranslator - flag invalid properties inside shared_params
      • ScriptTranslator - universally use Error::getDescription
      • ShadowCaster - deprecate getShadowVolumeRenderableIterator
      • ShadowRenderer - make sure render system specific sampler is used
      • StaticGeometry - deprecate Iterator based API
      • Texture - assert that we are not loading an empty image
      • Fixed possible crash in the addImpl() method of the ResourceManager class
      • compatibility with musl libc
    • CMake

      • request legacy GL discovery mode
      • samples should be only installed when they are also built
      • deprecate the HLMS component
      • Android - only derive activity label if EXTRA_ACTIVITIES exist
      • use standard (cmake 3.16+) PCH paths if possible
    • Bindings:

      • Added overloaded addition, subtraction, multiplication and division.
      • Added template for ConfigOptionMap
      • Changed Swig SharedPtr to Ogre SharedPtr.
      • CSharp: compile C# dll instead of installing source files
      • Fixed memory management for SceneManager::createRayQuery, added RayTestResult as a SWIG type.
      • Void Pointer and casting of MovableObject (#1413)
      • SWIG: allow building Overlay bindings without imgui
      • Java: suppress new warnings in build
    • RTSS

      • allow InTexcoord parameters of arbitrary type
      • correctly reset default shadow receiver material
      • DualQuaternionSkinning - fix interplay with projective texturing
      • fix bug with single pass parallax mapping & adapt sample
      • fix vertex output compacting
      • GBuffer - change TL_DEPTH_NORMAL to TL_NORMAL_VIEWDEPTH
      • GL - implement SPC_POSITION_PROJECTIVE_SPACE FS input
      • GLSL - legacy GLSL should be only use when targeting <= GLSL120
      • GLSL - use #include instead of shader attachment
      • GLSL Writer - get rid of wrong and unneeded cast
      • implement GBuffer output SubRenderState
      • implement hardware instancing support
      • implement parallax mapping and use it in respective sample
      • NormalMapLighting - do not transform normal if there are no lights
      • Program - create entry point in constructor
      • PSSM3 - fix scalar on GLSL swizzling which requires GLSL420
      • ScriptTranslator - log error when encountering unknown parameter
      • TextureAtlas - drop #extension as it does not work with #include
    • Terrain: fix wrong light direction of composite map

    • ๐Ÿ‘ GLSupport

      • drop unused GLSLProgramCommon::isSkeletalAnimationIncluded
      • GLSLProgramManagerCommon - drop needless GL type indirection
      • GLSLProgramManagerCommon - drop unused shared param parsing
    • GL*

      • further unify GLSLProgramManagerCommon
      • further unify GLSLShaderCommon
      • allow matrix types in texcoord semantic
      • GLSLProgram - store member shaders as array in GLSLProgramCommon
      • GLSLShaderCommon - drop the loadFromSource -> compile indirection
    • 0๏ธโƒฃ D3D11/ D3D9/ Cg: set entry point to "main" by default

    • D3D11

      • prevent DefaultHardwareVertex/Index/UniformBuffer creation
      • VertexDeclaration - be specific which semantic index is missing
    • GL3Plus/ GLES2

      • fix loading monolithic programs from microcode cache
      • attach uniform blocks to shared params for CPU <> GPU sync
      • factor out new linkSeparable() API for SSO
    • GL3Plus

      • clean up blitFromTexture
      • clean up GLSLProgramManager::extractUniformsFromProgram
      • fix linking of spirv SSOs
      • fix RenderToVertexBuffer with monolithic shaders
      • HardwareBuffer::lock - use more appropriate error message
      • merge UBO and SSBO classes
      • SSO - expose uniform locations through param_indexed
      • TextureBuffer::download - fix crash when dest type differs
      • unify microcode read/ write like in GLES2
    • GL/GL3+:

      • deprecate the "attach" mechanism in favor of #include
      • enable hardware texture blit, verified working
    • GLES2: implement limited hardware texture blit w/o scaling

    • ๐Ÿ‘ D3D9: do not spam unsupported HLSL targets & correct VTF format check

    • BSPSceneManager

      • fire RenderSingleObject, so RTSS passes are updated
      • make BspLevel Renderable to use standard rendering path
    • โฌ†๏ธ Tools: MeshUpgrader - allow two SubMeshes reference the same Material

    • ๐Ÿ“„ Docs

      • Compositor - document quad_normals pass attribute
      • fixed several doxygen errors
      • Manual - improve formatting of "Parameter specification"
      • Material - document the interplay of TUS and Sampler
      • Resource Management - include data retrieval in diagram
      • Tutorials - update deferred shading resource links
      • update regarding shadow_caster_material
    • Samples

      • Compositor - HDR merge GLSL and GLSLES shaders
      • Deferred Shading - merge GLSL and GLSLES shaders
      • Deferred Shading - use HLSL instead of Cg for D3D11 compat
      • Deferred - SSAO use standard instead of custom data sources
      • drop white.bmp that was only used as a placeholder
      • fixup for wrong matrix construction in last commit
      • GLSL - fix several errors discovered by strict SSO checking
      • Instancing - fix shadow casting and matrix types with GLSL
      • Instancing - user better lighting setup
      • Instancing - use RNG from std and make output consistent
      • Instancing - use RTSS for accurate shader based technique
      • ParticleGS - use point sprites with GLSL
      • port DeferredShading to RTSS
      • Shadows - convert to the "standard" PSSM/shadow_caster material
      • Shadows - simplify setup by properly using integrated shadows
      • SkeletalAnimation - set hardware skinning parameters via script
      • SSAO - fix RTSS material initialisation
      • SSAO - port to gbuffer RTSS stage
      • BSP - replace chiopteraDM by OpenArena oa_rpg3dm2
      • BSP - drop quakemap.cfg indirection for Android compatibility
      • AtomicCounters - finish the sample and drop obsolete code
    • โœ… Tests

      • convert ImageCombine PlayPen to Unit test
      • fix additive offset mapping test
      • test resource loading listener discarding only element in group
      • VTests: PlayPen_BlitSubTextures - use hardware blit path