v13.2.0
What's Changed
Highlight: Vulkan RenderSystem added
- Main
- Frustum - deprecate getProjectionMatrixRS
- Mesh - drop mSkeletonName as it always matches mSkeleton
- RenderSystemCapabilities - deprecate int&bool programConstantCount
- RenderSystem - hard deprecate old StencilState API
- ResourceGroupManager - move error checking to getResourceGroup
- SceneManager - better GPU profiler grouping
- ScriptTranslator - deprecate cull_software
- ScriptTranslator - streamline parameter type parsing
- ShadowRenderer - load spot_shadow_fade.dds ahead of time
- Texture - ensure listeners are notified for manual textures too
- TextureUnitState - drop reference to managed textures on unload
- GpuProgramParams - dbg assert we dont write out of bounds
- update zip/ miniz to 2.2.0
- Use safe idiom for math constants.
- allow instanced rendering w/o an instance buffer
- Fix FTBFS on GCC 11
- Media: drop obsolete HLMS shaders
- remove windows defines from cross-platform code
- Bites
- ApplicationContext - add method to query the current DPI
- Trays - disable transparent sorting to improve batching
- UnifiedShader
- add OGRE_UNIFORMS macro to toggle UBO usage
- add row_major for Vulkan
- correctly guard Vulkan specific macros
- fix availability of semantic aliases
- map ivecN to HLSL
- add all TEXCOORDn defines
- RTSS
- allow targeting glslang
- further refactor parameter writing
- GLSL - enable binding samplers in shaders via UnifiedShader
- GLSL - let UnifiedShader take care of gl_FragColor differences
- GLSL - use separate program linkage when available
- GLSL - Vulkan is strict regarding vertex attribute type
- GLSL - we can safely use custom attribs for VES_COLOUR everywhere
- GLSL - write params as UBOs when using SPIRV
- GLSL - write uniform location when possible
- merge GLSLESProgramProcessor into GLSLProgramProcessor
- ProgramManager - use writer language as cache-file extension
- refactor ProgramProcessor registration
- refactor ProgramWriter registration
- update ShadowPCF4 for Vulkan
- use UnifiedShader sampler declarations with all ProgramWriters
- write semantics with GLSL too - to be used as attribute locations
- Overlay
- fix missing bits for HiDPI support
- Font - disable transparent sorting to improve batching
- ImGui - use Vulkan friendly buffer management
- revert our changes to utf8_decode that broke it
- update imgui to 1.85
- Terrain
- avoid interrupting rendering for Vulkan compatibility
- GLSL - add Vulkan support
- use texture unit count instead of shader language as heurstic
- GLSLang
- correctly read alignment of UBOs
- do not register if SPIRV is not supported
- SPIRV-Tools dependancy is superfluous
- UBO - fix wrong size and disable logical indexing
- do not pad 1-element uniforms as per std140
- use latest GLSL version to get all features
- Vulkan
- add new RenderSystem based on ogre-next version
- currently classified as BETA
- D3D*: drop unused createInternalResources overload
- D3D11
- allow using debug markers, regardless of Ogre instrumentation
- HLSLProgram - destroy default buffer on unload
- D3D9
- HLSLProgram - set correct bufferSize when reading microcode
- stop counting constants twice for parameter buffer size
- GL*
- drop superflous GLHardwarePixelBuffer indirection
- RTT Preferred Mode is legacy GL specific
- allow PF_DEPTH MRT on GL & GLES2 + small fix for GL3+
- GL3+
- allow binding samplers in shader
- use BaseVertex variants for vertexStart instead of trashing VAO
- Metal
- drop superflous code-paths
- finish DepthBuffer support
- simplify uniform index offset handling
- fix wrong VES_TANGENT location
- Docs
- BuildingOgre - add Vulkan requirements
- BuildingOgre - update dependancy list
- improve cmake part of bootstrap tutorial
- improve instancing section
- Manual - rework hardware buffers section
- Manual - adapt some pages for new theme
- move library descriptions from Tutorial1 to Setup
- use doxygen awesome theme for readability & mobile support
- add Metal and Vulkan to modules and remove GLSupport
- Samples
- Browser - fix drawing of Thumbnails
- Browser: scale overlay on HiDPI displays
- Instancing - drop check for specific shader languages
- LightShafts - update for Vulkan
- PBR - update for Vulkan
- Skinning - make sure we query the correct scheme
- TextureArray - update for Vulkan
- use UnifiedShader for B&W compositor to get Vulkan support
- Fresnel - port to UnifiedShader for Vulkan support
- implement DoF compositor
- ShaderSystem - move InstancedViewports code to that SRS
- Tests
- update gtest to 1.10
- BillboardText - use non-ascii pangram to test utf8 decoding
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: