v13.4.0
Highlights
- Add Bullet component based on BtOgre
- add VET_INT_10_10_10_2_NORM
- add basic support for joystick devices
What's Changed
- Main
- add ControllerReal typedef
- add top-level aliases for material schemes e.g. MSN_DEFAULT
- AutoParamDataSource - use lookRotation to get spotlight matrix
- BillboardChain::Element - width and texCoord should always be float
- EdgeListBuilder - improve asserts in addIndexData
- Entity - drop useless extractTempBufferInfo indirection
- factor out VertexData::_cloneRemovingBlendData so it can be shared
- fix delayed loading of shadow caster material & add test
- fixed incorrect handling of samplers as constants
- fix StaticGeometry::setRenderingDistance
- FocusedShadowCameraSetup - drop special mLightFrustumCamera
- FrameTimeControllerValue - inline trivial functions
- GpuProgramParams - validate named constant count
- GpuSharedParameters - use template to avoid code duplication
- HardwareBufferManager - devirtualise methods called in destructor
- InstanceBatchHW - use correct HBU_CPU_TO_GPU
- LightClippingInfo - clipPlanesValid should be a bool
- Light - fix OGRE_NODELESS_POSITIONING typo
- Math - fix noisy compiler warnings (#2463)
- Mesh
- add UserObjectBindings & merge PrefabLoader + PrefabFactory
- check skeleton by pointer instead of by name
- default AutoBuildEdgeLists to false
- slightly refactor softwareVertexBlend
- ParticleSystemRenderer - correctly deprecate ParticleVisualData
- replace deprecated std::binary_function by lambda
- Resource - _fireLoadingComplete parameter is unused
- SceneManager
- inline _populateLightList overload
- shadow casting lights can be != shadow textures
- ScriptTranslator
- catch invalid multiple target_output usages
- deprecate bool symbol
- factor out safeSetConstant
- make caster_ref fallback technique-specific
- ShadowCameraSetup
- do not re-derive orientation when possible
- use default method to get ShadowMappingMatrix
- Serializer - slight cleanup
- ShadowRenderer - const correct sortLightsAffectingFrustum
- simplify GpuProgramManager::createImpl
- TangentSpaceCalc - dont discard existing vertex data
- TempBlendedBufferInfo - handle additional attributes in pos buffer
- Texture - unify validation of number of requested mips
- use new HBU_* names in headers to improve documentation
- VertexData - implement convertVertexElement
- VertexData - simplify reorganiseBuffers
- VertexElement - deprecate convertColourValue
- VertexElement - deprecate getBestColourVertexElementType
- Viewport - inline trivial member functions
- Viewport - use TRect to store dimensions
- WorkQueue - simplify WorkerFunc
- CMake
- fix setting of OGRE_NODE_INHERIT_TRANSFORM option
- let CMake autodetect OSX_SYSROOT
- Dependencies: update to latest releases
- Dependencies: make sure we capture our self-build SDL2 on Linux
- pkg-config: match cmake regarding include paths
- Don't use sse on non-x86 architectures (#2444)
- RTSS
- CookTorrance - respect transparency and ambient light
- fix getAutoConstantIntData for array types
- PBR - iterate lights in shader to avoid redundant computations
- PSSM - move ApplyShadowFactor to lighting stages as it should be
- Bites
- add basic support for joystick devices
- ImGuiInputListener - finish port to event-based IO
- correct check if a gamecontrollerdb.txt is loaded
- SWIG: wrap BillboardChainElement
- Overlay: update ImGui to 1.87
- Terrain: fix getCastsShadows always being true and change default
- GL: GpuProgram - drop duplicated fields
- Vulkan: correctly check for RSC_USER_CLIP_PLANES
- Metal: fix crash on shutdown from mDefaultVP/FP outliving their creator
- D3D*: port to common isCompatible() method
- D3D11
- D3D11DeviceResourceManager - improve assert message
- HLSL - simplify IA reflection handling
- PCZSceneManager: fix named node registration in createSceneNode override
- Assimp
- explicitly give GenSmoothNormals precendence
- fix string comparison when walking bones
- Samples
- add Bullet sample
- Browsers - fix overflow of samples carousel
- Python - add google colab compatible ipy notebook
- Tools
- clean up help CLI help strings
- make use of Ogre::Root to reduce boilerplate code
- XMLConverter - drop VET_COLOUR* parsing from CLI
- MeshUpgrader: add option to pack normals and tangents as int_10_10_10_2
- AssimpConverter: include plugins in RPATH, so Codec_Assimp is found
- Docs
- correct channel order of metal roughness params
- improve FrameTimeControllerValue documentation
- improve Hardaware Buffers documentation
- improve Plugin documentation
- merge getUserObjectBindings descriptions
- MeshTools - update documentation and add AssimpConverter
- minor fixes
- shadows - small formatting fix
- Tests: test PF_A2R10G10B10 packing/ unpacking
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: