v14.2.0
Highlights
- Bites: added ImGui based config dialog
- Tools: expose vertex cache optimizer in MeshUpgrader
- various bugfixes and performance optimizations
What's Changed
- Main
- add SceneNode destroyChildAndObject etc convenience methods (#2963)
- ControllerManager - use std::vector for ControllerList
- copyMatchingNamedConstantsFrom - switch to release assert
- deprecate RSC_POINT_EXTENDED_PARAMETERS
- fix spelling error in MOT_FRUSTRUM (#2943)
- GpuProgramManager - improve missing shared_params error message
- GpuProgramParameters - fix edge cases for params of invalid logicalIndex or single float size
- GpuProgramTranslator - skip params on programs that failed to load
- inline Math::UnitRandom as it is on the hot path for particle emission
- Log - use put_time for timestamp formatting
- ParticleSystem - add profiling instrumentation
- ProfileInstance - simplify logResults
- ResourceManager::remove - check whether we created the resource
- RSC - domain and hull programs always come together
- SceneManager - add Static Geometry collection access (#2987)
- SceneManager - dont bind compute programs. They are dispatched differently
- ScriptTranslator - unify ID to GpuProgramType translation
- SimpleSpline - make coeffs static and simplify constructor
- simplify ParticleSystemTranslator
- SubEntity - provide correct bone matrices for binding pose
- Technique
- also check RSC_WIDE_LINES for compatibility
- check RSC_POINT_SPRITES availability
- do not add superfluous newline to compileErrors
- try to catch user missing a program type early on
- also check TEX_TYPE compatibility in programmable passes
- VertexCacheProfiler - add average cache miss ratio metric
- workaround any_cast on iOS by using strcmp
- WorkQueue - move WorkerThreadCount to interface
- fix compilation with double
- fix emscripten build on apple
- removed unecssary null ptr checks + changed NULL to nullptr
- CMake
- bump required version to 3.13
- check for pugixml before enabling dependent options
- fix ios toolchain for cmake 3.28
- let CMake decide on the xcode attributes
- Dependencies
- update Assimp to version 5.3.1
- update freetype to version 2.13.2
- update pugixml to version 1.14
- update SDL2 to 2.28.5
- update imgui to 1.90.4
- update zlib and switch to github mirror (#3031)
- update bundled stb_truetype to version 1.26
- SWIG
- fix building with swig 4.2.0
- ignore some deprecated functions
- use argument_fail for consistent type error reporting
- RTSS
- also check if the src technique is supported
- cloneShaderBasedTechniques - ensure src material is loaded
- GLSLProgramWriter - skip gl_PointSize in Fragment Shader
- remove empty function stubs
- unify writeProgramDependencies
- use same variable name for vs out and ps in
- Overlay
- add workaround for whitespace advance when using stbtt
- Container - update children first as notifyParent may call initialise on them
- Font
- drop obsolete character_spacer StringInterface
- use antialias_colour by default and deprecate the off state
- FontManager - drop unimplemented methods
- ImGui
- also clean font texture and material
- implement renderer configuration dialog
- wrap PlotHistogram, PlotLines for python
- improve error message in addFont
- ProfileSessionListener - fix crash in finializeSession
- store zorder as ushort instead of ulong
- use runtime assert to check zorder range
- Bites
- allow force disabling native ConfigDialog
- ApplicationContext
- add convenience functions to bring up ImGui
- add runRenderingSettingsDialog
- const correct getFSLayer
- deprecate ApplicationContext::reconfigure
- ImGuiInputListener - silently ignore events if context dissapeared
- InputListenerChain - forward frameRendered events and add empty() method
- range loop refactoring (#3013)
- MeshLOD
- Bullet: add basic documentation
- Assimp: fix version printing. revision is the git hash
- RsImageCodec: fix build with latest Rust toolchain
- GLSLang
- check that a valid UBO name is used
- compile as std17, to allow using recent Vulkan SDKs
- D3D11
- do not set any PointSize related RSC as it is unsupported
- HLSL - drop logical indexing as it makes no sense
- HLSL - give up on custom alignment logic
- range loop refactoring (#2972)
- Texture - src image attributes should not be overwritten
- D3D9: drop unused _setSrcAttributes
- GLSupport
- add leading whitespace to FSAA options
- const correct GLSLPreprocessor
- range loop refactoring (#2968)
- GL3Plus
- alias CS UBO to VS UBO as both wont be present at the same time
- do not crash if nonexistant shared_params are referenced
- GL: const correctness for ps_1_4 testCompile
- Vulkan: correctly check for RSC_POINT_SPRITES
- GLES2: turn on normalization for VET_INT_10_10_10_2_NORM
- Tools: MeshUpgrader
- add optvtxcache flag to optimize vertex cache
- more robust argument number check
- Docs
- actually link to the last two API references
- fix copydoc usage in material-scripts.md
- fix formatting of Changelog
- list mesh tool parameters in manual
- slightly improve the Shadow Mapping tutorial
- update 14-Notes
- update required compilers
- Samples
- Browser
- use InputListenerChain
- use ImGui based renderer config dialog
- Sample/ SdkSample
- do not duplicate FrameListener API
- remove superfluous boilerplate methods
- drop unused WindowEventListener methods
- register input directly with context
- expose ApplicationContext to Samples
- take care of trays internally
- use InputListenerChain for clear input propagation
- move input related stuff to SdkSample
- range loop refactoring (#2993)
- PNTriangles - use requireMaterial
- Browser
- Tests
- convert BillboardTextureCoords VTest to Unit Test
- TestContext - port to runRenderingSettingsDialog
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: