Releases: OGRECave/ogre
Releases · OGRECave/ogre
v13.5.3
- Main: range loop refactoring (#2668)
- RTSS
- check the result of std::find to prevent erasing 'end' iterator (#2676)
- Instancing - ensure software skinning is off, when this is enabled
- Terrain: TerrainTransform - do not crash if Vertex Compression is off
- CMake
- do not enable fp:fast by default on MSVC
- drop checks for MSVC versions that we no longer support
- D3D9: we must check num requested mips against MIP_UNLIMITED
- Tests: use preprocessor defines instead of typeid
v13.5.2
- Main:
- CMake: allow using latest SWIG
- ParticleFX: TextureAnimatorAffector - fix init for recycled particles
- GLES2: fix access to an iterator after its container has beed destroyed (#2672)
- GL: relax an assert() to not trigger on legitimate cases (#2666)
- GLSupport: merge GLSLProgramManagerCommon::validateParam
- RTSS: fix texturing when CookTorrance is active
- Terrain: correctly forward visibility and query flags
v13.5.1
- Main
- fix compilation for Real=double
- RenderSystem - skip FFP texture settings when FFP is not supported
- range loop refactoring
- CMake
- fix incomplete zlib update
- only install samples.cfg, when installing the the samples
- only reference sample resources, when we build the samples
- RTSS
- FFPTexturing - do not needlessly pass texture matrix
- FFPTexturing - thoroughly validate tex coord settings
- BSPSceneManager: Q3Shader - fix TEXGEN_ENVIRONMENT mapping
- D3D11: improve error message for missing VertexElement
- GL: match D3D9 on ENV_PLANAR behavior
- Docs
- improve cubic texture description in ogre script
- improve env_map documentation
v13.5.0
Highlights
- Implement Automatic Instancing
- Add support for GPU bone to world transform
- Non shadow-casting lights and PSSM integration
- Use Vulkan Memory Allocator
What's Changed
- Main
- add option to use object space bones
- AnimationState - use plain vector for BlendMask
- AnimationTrack - add sanity assert for pose animation
- DefaultDebugDrawer
- fix scale being applied twice to axes
- skip drawing root scene node
- ETCCodec - fix crash when loading PKM files
- fix LightAttenuationValue (#2569)
- Image - make trivial getters inline
- implement automatic SubMesh batching (SceneManager/ GpuProgram)
- inject GlobalInstancingDeclaration in SceneManager instead of RS
- InstanceBatchHW_VTF - range loop refactoring (#2612)
- Instancing - do not override getNumWorldTransforms if not needed
- make some error messages more specific
- Math
- assert that isNaN is potentially working
- float is always sufficient to generate a random number
- move OGRE_MAX_NUM_BONES to OgreConfig.h
- Pass - hide _getBlendFlags
- PixelBox - initialise all members
- PixelFormat - fix wrong PF_ETC2_RGBA8 size calulations
- PixelUtil - do not widen to size_t on return
- RenderSystem - provide default dummy video modes
- RibbonTrail - validate TrailLength
- SceneManager - inline mWorldGeometryRenderQueue accessors
- ShadowRenderer - do not create Materials that were never used
- use diffuse alpha in DERIVED_AMBIENT_LIGHT_COLOUR
- Zip - correctly forward filename to opened datastream
- drop unused pieces of InstancedGeometry
- get rid of internal SPFM_DELETE_T usages
- correctly handle self-assignment for various classes
- port compressed format loaders to new Codec API
- add AbstractNode::getString convenience method
- annotate code with override
- range-for loop refactoring (#2545, #2546, #2547, #2549, #2577, #2583, #2594, #2605, #2608, #2617, #2623, #2627, #2572)
- refactoring and some style fixing (#2580, #2543)
- use make_shared with StringVector & FileInfoList
- deprecate Image::getFileExtFromMagic
- deprecate Math::calculateTangentSpaceVector
- fully deprecate normalise_normals
- call createMicrocode statically
- BillboardChain - deprecate setDynamic in favour of setAutoUpdate
- RTSS
- add compatibility with automatic instancing
- add flag for highp interpolation
- add RenderState::getSubRenderState helper
- always match VS to PS interface
- CookTorrance
- allow injecting UV coords
- correct ambient and shadows
- do not depend on PSSM for shadowFactor handling
- use linear gamma & add PSSM_DEBUG
- DualQuaternion - move more code to shader
- fix transparency when using TVC_EMISSIVE
- get rid of now trivial FFPRenderStateBuilder
- GLSLES - force highp to avoid precision mismatch between VP/ FP
- GLSLProgramWriter - fix UniformBlock indentation
- HW Skinning
- avoid passing ViewProjMatrix
- take advantage of object space bone setting in main
- unify implementations
- improve parameter parsing
- LayeredBlending - add string based blendMode & sourceModifier API
- LinearSkinning - move more code to shader
- make available SRS types more discoverable & unify documentation
- NormalMap - move more computations to shaderlib
- NormalMap - we must normalise tangents & normals in VS
- per-pixel lighting - fix using PSSM3 with non casting lights
- RenderState - add helper to add template SRS by type
- replace FFPLib_Common by BuiltinFunctionAtom
- simplify SGX_ApplyShadowFactor_Diffuse
- deprecate SGScriptTranslator::getString
- drop superfluous addError calls when parsing scripts
- Terrain
- factor out TerrainSurface.glsl
- fix flipped eyeDir vector
- fix precision issues on GLES2
- make sure lod1RenderState gets params with FFP
- MaterialGenerator - deprecate layerDecl.elements
- use updateParams flow for LOD1 technique
- we must normalise the incoming normal for constructing TBN
- CI
- update NDK to latest LTS
- update to macos-11
- update windows build to vs19
- PIP: enable Vulkan on Windows & Linux
- CMake: Install pkgconfig file with mingw toolchain
- Java: disable more warnings for SWIG
- Overlay: BorderPanel - size computations should always be in float
- GLES2: EAGL - dynamically use GLES3 if possible
- GL*: factor out applyGlobalInstancingDeclaration
- GLSupport: allow using pre-GLVND setups again
- GLSLang
- fix static linking against the plugin
- ignore warnings in upstream headers
- ParticleFX: hide all symbols
- PCZSceneManager - fix clearScene by using parent impl
- Vulkan
- add PF_R5G6B5 support
- avoid VK_FORMAT_D32_SFLOAT_S8_UINT
- correctly handle PF_DEPTH24_STENCIL8
- do not pull vulkan headers into plugin
- port to Vulkan Memory Allocator
- use float for depth values as others
- STBICodec - port to new Codec API
- EXRCodec: port to new Codec API
- FreeImageCodec: port to new Codec API
- Docs
- add DotScene to Manual
- add rationale for OGRE_MAX_NUM_BONES
- fix some typos
- high level programs - refactor to include Vulkan GLSL usage
- improve AutoConstantType documentation/ formatting
- improve Instancing documentation
- Renderable - document new getBonesUseObjectSpace behaviour
- Tutorials - simplify the boostrap code
- use the new SRS_ RTSS constants in sample code
- Samples
- add automatic HW Instancing
- Browser - globally enable object space bones for testing
- Compositor DoF - fix shader for GLES2
- Context - use initApp on iOS too
- fix building sample browser on OSX
- fix too close near plane
- InstancedViewport - fix vertex attributes to work with Vulkan
- Instancing - slight cleanup of technique handling
- RTSS - correct specular for cook torrance & point light tweaks
- RTSS - replace vertex lighting by cook torrance
- SegmentedLights - params are already in world space
- ShaderSystem - fix layered blending demo
- Terrain - disable anisotropic filtering on Android
- hardcode CFBundleVersion for iOS in Info.plist
- Tests
- add KTX loading test
- add Light AnimableValue test
- also test PKM and ASTC loading
- Context - copy core media on iOS as well
- move PVR file loading to unit tests and run them on Linux
- PlayPen - disable anisotropic filtering
- TestContext - replace ad-hoc parsing of Video-Mode
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.4.4
- Main
- GLSLang
- correctly release delegate on destruction
- fix linking and allow using Vulkan SDK on Ubuntu 22.04
- Vulkan
- correctly use getImageAspect everywhere
- fix texAccessFlags in prepareForDownload
- Docs: add Bullet component to Notes
v13.4.3
v13.4.2
- Main
- Root - run destructor on MaterialManager before GpuProgramManager
- StaticGeometry - logError if Root SceneNode is transformed
- WorkQueue - fix logging
- WorkQueue - sync response processing time limit doc and code
- Terrain: generate normal and composite map material in one go
- RTSS: simplify ProgramManager
- Java & CSharp: link only used components libraries
- PCZSceneManager
- fix scaling of portal radius
- slightly clean-up readme
- GLSupport: Win32 - fix building with QUAD_BUFFER_STEREO
- Docs
- update list of components using pugixml
- Make libxrandr a requirement for Ubuntu
- Samples
- PCZTest - reduce PCZSceneNode usage
- ShaderSystem - fix crash on shutdown
v13.4.1
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:
v13.3.4
- Dependencies: update zlib to 1.2.12 due to CVE-2018-25032
- Docs: minor fixes