Highlights
- GL3+: improved performance by 10% when draw-call bound
- Codec_Assimp: allow loading glTF2 meshes
- RTSS: PBR material support
- Improved Gamepad Support via Bites
What's Changed
- Main
- add PF_DEPTH24_STENCIL8
- add type to GpuParamVariability
- clarified WorkQueue request type values.
- clean-up OGRE_ARCH_TYPE detection
- deprecated RSC::getStencilBufferBitDepth
- fixed memory usage calculation when cloning material (#2373)
- Light - use point sized AABB to allow retrieval via SceneQuery
- LodStrategyManager - forward declare MapIterator
- log ExternalTextureSource error int ranslator instead of manager
- Math - use std::log2 for Log2
- Matrix3 - improve euler conversion documentation
- Mesh - const correct _notifySkeleton
- Rectangle2D
- do not update bbox by default
- set default positions & minor code cleanup
- use infinite bbox by default
- RenderWindow "border" param is not supported on Linux
- ResourceGroupManager - unload Archive on removeResourceLocation
- ResourceManager - provide common parseScript implementation
- SceneManager
- allow creating before RenderSystem init
- disable normaliseNormals when there is no FFP
- do not bind compute programs
- move renderObjects to QueuedRenderableVisitor
- we no longer have to re-issue texgen settings
- modulative shadows - use autoconstants for shadow color
- SceneNode - improve error message on duplicate object name
- ScriptCompiler - unify OBJECTALLOCATIONERROR handling
- ScriptTranslator - catch missing Particle Affectors/ Emitters
- ShadowRenderer - move material definitons to script
- simplify StaticGeometry::Region
- Texture: call ManualResourceLoader as per Resource protocol
- UnifiedShader
- add FOG semantic
- cover precision qualifiers
- define mod() for HLSL
- Media: drop unused Vulkan shaders
- RTSS
- CookTorrance - allow material level parametrisation
- fix two-sided lighting on Vulkan
- GLES - dont force highp precision on all shaders
- gracefully handle shader compilation error
- implement metallic-roughness PBR
- merge FFPLib_Transform.{cg, hlsl}
- simplify code by moving to shaderlib
- Bites
- ApplicationContextSDL - add gamecontrollerdb.txt support
- ImGuiListener - add Gamepad support
- CMake
- clean up macro_log_feature calls
- fix OpenGL build on OSX
- rename FeatureSummary.cmake to avoid name clashes
- treat minsizerel as release
- Fix plugindir in OGRE pkgconfig files, fix OGRE-PCZ pkgconfig
- Fix plugins not installed into OGRE_PLUGINS_PATH
- Android: fix build with gradle 7
- SWIG
- sync ignores to deprecations
- wrap MovableList
- ImGui
- enable passing ImTextureID
- expose ImGuiStyle::Colors
- set
__version__
for Python
- Assimp
- apply some fixes to IO to make glTF importer work
- Fix detection of assimp 5.1, upgrade bundled assimp, remove cmake workaround for CI (#2318)
- AssimpLoader: optimize for fast loading by default
- use normal and metal roughness maps if present
- Terrain: GLSLES - only use highp precision where needed
- Tools: create dummy skeletons - just as we create dummy materials
- GL*
- drop unused GLSLProgramCommon::extractLayoutQualifiers
- HBL_NO_OVERWRITE does not imply DISCARD & update docs
- GLSupport
- EGL - fix restarting thread to GLES
- GLX - fix selecting maximal supported context version
- fix compilation on emscripten
- GL3+
- avoid conflict between OSX shader patching and UnifiedShader
- clean up StateCache and unconditionally cache perf critical state
- notify StateCache of VAO destruction
- GL3+/ GLES2
- enforce buffer discard with HBL_DISCARD
- fix debug labelling of textures
- GL: replace glew by glad, so we dont pull GLX & WGL any more
- D3D9/ D3D11/ Cg: take target profile into account when caching shaders
- D3D11: stop leaking D3D11DepthBuffer (#2357)
- D3D9: use shared vertex/ fragment textures and deprecate binding_type
- Metal
- export metal device name
- HardwareBuffer - clean up code
- use PF_DEPTH24_STENCIL8 by default
- Vulkan
- Buffer - warn if user hits unimplemented codepath
- enable RSC_VERTEX_TEXTURE_FETCH
- export VulkanPlugin for static plugin loading
- use persistent mapping for HBU_CPU_TO_GPU
- Docs
- correct External Texture Sources documentation
- do not use deprecated *BufferSharedPtr for code appearing in docs
- drop unused style.css
- exclude private headers from API reference
- improve InstanceManager documentation
- improve particle-system documentation
- License - better reference for Cuckoo font
- update 13-Notes
- Samples
- add OpenCV ArUco sample
- simplify ParticleGS Sample
- Transparancy - check whether OIT is supported
- Python: fix raw sample
- Android: migrate to AndroidX
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: