Releases: OGRECave/ogre
Releases · OGRECave/ogre
v14.1.1
- Main: remove some deprecation warnings
- Overlay: Font - handle premult alpha via antialias_colour in material
- RTSS: switch to a unified program processor
- Terrain: range loop factoring (#2945)
- MeshLod: silence memcpy warning on GCC
- Android: update to AGP 7.4.2 to work with latest android studio
- GL*: range loop refactoring (#2948)
- Metal: GpuProgram - entrypoint cannot be main & some robustness
- Vulkan: range loop refactoring (#2947, #2959)
- Docs: document OgreImGUIOverlay
v14.1.0
Highlights
- Main: added support for rectangular area lights
- Overlay: correctly load space width from font
- RTSS: handle multiple shadow casting lights
What's Changed
- Main
- add ACT_MATERIAL_LOD_INDEX
- add support for rectangular area lights
- Entity - drop unused mMaterialLodFactorTransformed
- fix processMainThreadTasks() waiting logic
- Material LOD should work regardless of OGRE_NO_MESHLOD
- Mesh/ SubMesh - add convenience resetVertexData & createVertexData
- move mMaterialLodIndex to Renderable
- ParticleSystem - do not track Affectors and Emitters in Factories
- ShadowCamera - treat rectlights as spotlights
- CMake
- RTSS
- add support for rectangular area lights
- allow creating local array variables
- PSSM - fix parsing parameters from script
- PSSM - correctly handle color shadows when PSSM is off
- PSSM - use shared, script-defined shadow sampler
- range loop refactoring (#2929, #2931, #2934, #2937)
- ShadowMapping - handle multiple shadow casting lights
- Overlay
- correctly load space width from font
- ImGui - respect ogre default codepoint range
- range loop refactoring (#2919)
- TextArea - draw missing space & deprecate space_width property
- update to imgui 1.89.8
- SWIG
- ImGui - correctly wrap Checkbox
- ImGui - enable float[2] float[3] float[4] paramters via ImVec4
- Python
- auto convert Ogre.Degree to Radian parameter
- workaround issue with cmake & manylinux (#2938)
- full sequence protocol for Vector, Quaternion and ColourValue
- Terrain: range loop refactoring (#2940)
- Overlay/ Bites: range loop refactoring (#2908)
- GLSupport: OSX - throw on broken createNewWindow code path
- Octree - drop unused _alertVisibleObjects
- Assimp
- fix animations bone handle (#2930)
- we must use an index buffer due to the triangulate step
- Docs
- 14-Notes - mention CollisionWorld
- fix out-of-date Dear ImGui link
- update 14 notes
- update basic tutorial2
- Samples
- add RectLight sample
- Shadows - use the RTSS to generate depth shadow shaders
- switch to multi- shadowlight RTSS shaders where applicable
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v14.0.1
- Main
- Entity - use correct material LOD idx bounds
- fix warnings with OGRE_NO_MESHLOD
- range loop refactoring (#2894)
- ScriptTranslator - warn on deprecated lod_strategy names
- MeshLOD: fix build without precompiled headers
- Cg: define OGRE_VERTEX_SHADER for OgreUnifiedShader
- Tools, Tests, Samples: fix build without MeshLOD
- Docs
- clarify using Overlays from .overlay files
- clean up lod_strategy formatting
- do not use the deprecated "asm" syntax
- expand API documentation for getByName (#2893)
- fix shadow tutorial code example (#2892)
- list possible lod_strategy values and document lod_values fallback
- update scripting manual (#2895)
- Samples
- clean up Isosurf
- IsoSurf - also use unified VS & FS for Cg
- IsoSurf - merge HLSL and GLSL VS & FS
v14.0.0
Highlights
- switched WorkQueue to a Task-based API
- There is a render queue dedicated to Transparent objects
- RTSS can handle light type changes without shader recompilation
See New and Noteworthy for a detailed explanation
What's Changed
- Main
- add OGRE_DEPRECATED to getAnimationStateIterator
- allow parallel install of multiple versions via versioned OGRE dir
- be slightly more strict regarding HardwareBufferUsage
- AnimationState - make _setBlendMaskData private
- BillboardChain - slightly clean up API
- BillboardSet - drop deprecated getTextureCoords
- clean up internal AnimableObject API
- clean up RenderSystemCapabilities API
- clean up VertexBoneAssignment definition
- CompositorInstance - fix auto-sorting custom render passes
- CompositorInstance - improve render_queue error message
- DefaultDebugDrawer - add setBoneAxesSize()
- DeflateStream can throw in close() > compressFinal()
- devirtualise functions that would bypass virtual dispatch
- factor out SceneMgrQueuedRenderableVisitor::renderTransparents
- Frustum - drop now superfluous getProjectionMatrixRS
- fix element count of ACT_TIME_0_*
- fix ResourceGroupManager shutdown crash (#2859)
- generate compile error when using IsNaN with fast math
- GpuProgramParameters - do not set variability in clearAutoConstant
- GpuProgramParameters - assert correct autoconstant type
- hardcode builtin controller values and functions to float
- HardwareBufferManager - cleanup VertexBufferCopy API
- HardwareBufferManager - use private inheritance
- HardwareVertex/IndexBuffer - use uint32 to store counts
- HardwareBuffer - bring back reduced isSystemMemory
- it is actually safe to default copy IndexData
- introduce MOT_* as a replacement for now hidden FACTORY_TYPE_NAME
- Light - convert spotlight angle animable values to Radian type
- LiSPSMShadowCameraSetup::create - actually forward the params
- make "Stereo Mode" RS Option a boolean & get rid of StereoModeType
- make parameters const ref where applicable
- Math: enable Vector3 -> Vector4 conversion for generic types
- ManualObject - speed up copyTempVertexToBuffer
- MeshManager - use object space bones by default
- Mesh - try to detect improper use instead of crashing
- move custom RSC loading out of Root
- move render queue split configuration to ShadowRenderer
- move RSC compatibility check to useCustomRenderSystemCapabilities
- move SPFM_DELETE_T to OgreDeprecated.h
- MOT_* strings for all MovableObjects (#2842)
- ParticleEmitter - emit a single particle on first update
- ParticleSystemManager - do not inherit from ScriptLoader
- pass camera name as renderQueueStarted "invocation"
- pass entity's transform to DebugDrawer::drawBone()
- Pose - always store data float and int
- Pose and Morph weights are always float
- Profiler - clean up GPUEvent API, that was forwarding to RenderSys
- put transparent objects on a separate render queue
- RenderSystem
- make createRenderSystemCapabilities protected
- mManualBlendColours is only needed for FFP
- use arrays for GPT_ related fields
- clean up global instancing API call typos & naming
- replace AnyNumeric by specialized methods in NumericAnimationTrack
- replace PrefabType enum by the string equivalents
- ResourceBackgroundQueue - port to new WorkQueue API
- ResourceBackgroundQueue - refactor to use std::future
- Resource - call prepareResource() before loading an unprepared manual resource
- RSC_MRT_DIFFERENT_BIT_DEPTHS is D3D9 specific
- SceneManager
- fix docs, all movable objects auto-detach
- make createSceneNode non-virtual
- make more of the internal API private
- _setPass - drop unused evenIfSuppressed
- report derived material in renderdoc
- SceneQueryListener - make consuming WorldFragment optional
- SceneQuery - move most of WorldFragment API to BSP SceneManager
- ScriptCompiler - fix _fireEvent doxygen comment
- ShadowRenderer - factor out deriveTextureShadowPass
- setBonesUseObjectSpace - use the passed value
- simplify scene manager factory registration
- Skeleton - convert _dumpContents to operator<<
- slightly refactor RenderPriorityGroup
- StaticGeometry - convert dump() to operator<<
- SkyManager and ShadowRenderer need dllexport for mingw
- slightly clean up TextureUnitState
- type safety for GpuProgramParameters::getAutoConstantDefinition
- Texture - make parts of the API private
- Technique - avoid deadlock when shadow_*_material refers to self
- use ad-hoc hashing instead of HashedVector
- use identity for *VIEWPROJ_MATRIX if textureProjector is NULL
- VertexElement - use typed enums to reduce storage size
- VertexData - hide advanced reorganiseBuffers
- WorkQueue
- rename response queue to main-thread queue
- replace request/ response by task-based API
- fix race condition
- C++11 updates
- made private
- builtin movableobject factories
- lightsForShadowTextureLess, lightLess, materialLess
- NumericSolver
- OGRE_SERIALIZER_VALIDATE_CHUNKSIZE
- ShadowCasterSceneQueryListener
- TempBlendedBufferInfo
- UnifiedHighLevelGpuProgram
- VertexDeclaration - hide vertexElementLess
- DefaultHardware{Vertex,Index}Buffer
- FrameTimeControllerValue - hide FrameListener
- removed
- Animable::DEGREE type - Degree auto converts to Radian
- deprecated methods with low impact
- deprecated normalise_normals pass property
- deprecated RenderSystem API
- getDisplayMonitorCount API
- obsolete TextureUnitState API
- OrientationMode API
- PreApplyTextureAliasesScriptCompilerEvent
- remains of SubMesh texture aliases
- some hard-deprecated methods
- support for putting tangents into texcoord bindings
- TBB support
- TAM_UNKNOWN and ACT_UNKNOWN
- unused RenderSystemContext
- VectorBase::operator=
- SimpleRenderable - drop mParentSceneManager
- GpuProgram - drop uses_adjacency_information
- CompositorManager - drop empty initialise method
- ImageCodec - drop deprecated ImageData based codepaths
- RenderSystem - drop deprecated DepthBuffer API
- RenderTarget - drop support for "DISPLAYNAME" custom attribute
- Bites: StaticPluginLoader - dont forget to shutdown the codecs
- UnifiedShader: apply USE_OGRE_FROM_FUTURE
- CMake
- SWIG - use CMP0078 NEW
- Use all available processor cores to build dependencies
- Dependencies: update freetype, SDL and Android NDK (#2827)
- Dependencies: fix cross-compiling on apple
- only enable PVRTC on iOS by default
- Delete CTestConfig.cmake
- RTSS
- add default SRS first instead of last
- allow using constants in At operand
- cook torrance - forward surface alpha
- Do not add the gl_PerVertex block when writing the shader.
- do not split the light count by type
- GLSLProgramWriter - use param semantic to determine attribute name
- only require a single parameter for light_count
- simplify FFPFog SRS
- SubRenderState - add Any based setParameter overload
- use dynamic light types for FFP shaders too
- replace trivial FFP_Transform with builtin calls
- drop hard deprecated methods
- drop useless SPC_* enums
- Media - drop FFPLib_Common
- Media - all shaders are unified, drop the GLSL subdir
- clean up Prerequisites.h
- allow blacklisting TUS from FFP texturing
- GLSLES - move default precision definition to GL3Support
- IBL - ensure envmap is used as cubic texture
- NormalMap
- add new texture_unit level script format
- fix shadergen for object space tangents
- parallax texcoord should also affect normalmap lookup
- Parallax fix and steep occlusion mapping (#2873)
- hide
- HardwareSkinning SRS and make factory config methods static
- remaining FFP_LIB_* defines
- as much of FFPTexturing as possible
- FFPTransform
- ProgramProcessor API
- LayeredBlending - internal enums
- Terrain
- make TerrainMaterialGenerator::Profile optional
- port to new WorkQueue API
- reduce metadata verbosity
- Overlay
- update imgui to 1.89.7
- Imgui: python - strip duplicate prefix for ImGuiSomething_FlagName flags
- Bullet
- split out CollisionWorld to allow collision detection only
- wrap dynamics world to expose inheritance
- Assimp
- set emissive to 0 when using an emissive map
- support loading embedded textures
- MeshLodGenerator
- collapse lines
- factor out InputProvider differences
- factor out InputProvider duplication
- factor out OutputProvider differences
- factor out OutputProvider duplication
- get rid of OutputProviderCompressed*
- initialize both options to previous behavior
- input lines
- make helper functions static
- move compression into OutputProvider base class
- output lines
- prevent breaking lines
- prevent punching holes
- retain render operation types for buffered input
- simplify LodIndexBuffer
- use HardwareBuffers
- hide concrete input/ output p...
v13.6.5
- Main
- DeflateStream can throw in close() > compressFinal()
- fix element count of ACT_TIME_0_*
- fix ResourceGroupManager shutdown crash (#2859)
- GpuProgramParameters - assert correct autoconstant type
- SceneManager - report derived material in renderdoc
- Technique - avoid deadlock when shadow_*_material refers to self
- use identity for *VIEWPROJ_MATRIX if textureProjector is NULL
- CMake
- Delete CTestConfig.cmake
- Dependencies: fix cross-compiling on apple
- RTSS
- normalmap - parallax texcoord should also affect normalmap lookup
- IBL - ensure envmap is used as cubic texture
- GLSupport: early-out if shader source is empty
- GLES2/GL3+: fix HardwareBuffer::copyData when offsets are not 0
- GLES2: fix check in blitFromMemory
- D3D11: memory leak due to undeleted stereo driver bridge
- Metal: Check for BCn compression on macOS Big Sur
- EXRCodec: Fix the function override problem under osx (#2831)
- Assimp: do not crash if embedded texture cannot be loaded
- Docs
- improve RTSS and UnifiedShader docs
- RTSS - fix references to SRS_* briefs
- Tests: fix stencil glow on Mesa GLES
- Samples
- ShaderSystem - fix crash on toggling per pixel fog
- Terrain - add mipmaps to compressed textures
v13.6.4
- Main
- LiSPSMShadowCameraSetup::create - actually forward the params
- Mesh - actually only trigger assertion in debug mode
- Resource - call prepareResource() before loading an unprepared manual resource
- SceneManager - fix docs, all movable objects auto-detach
- Tools
- MeshUpgrader - avoid assertion in ~Mesh
- XMLConverter: XMLSkeletonSerializer - use correct bone handles for createNodeTrack()
- STBICodec: update embedded STB Image
- D3D9: fall back to SO_GOURAUD for SO_PHONG
- GL3Plus: always delete the VAO
- Vulkan: fix hashing of shader stages
- Tests: set a longer timeout for CTest
v13.6.3
- Main
- CompositorInstance - fix auto-sorting custom render passes
- CompositorInstance - improve render_queue error message
- Mesh - try to detect improper use instead of crashing
- setBonesUseObjectSpace - use the passed value
- RTSS
- cook torrance - forward surface alpha
- Do not add the gl_PerVertex block when writing the shader.
- CMake: Use all available processor cores to build dependencies
- GLSupport: EGL - always derive new config on X11
- Samples: DeferredShading - fix gbuffer depth on GL
v13.6.2
- Main
- GpuProgramParameters - do not set variability in clearAutoConstant
- move RSC compatibility check to useCustomRenderSystemCapabilities
- Assimp
- set emissive to 0 when using an emissive map
- support loading embedded textures
- GL: RenderToVertexBuffer - fix detection of GLSL shaders
- GLSupport
- EGL - fix multi-window operation
- fix requested version of GL context
- Docs: BuildingOgre - the install step is not really optional
- Samples: DeferredShading - fix assert in detachFromParent
- Tests: correctly report skipped tests
- Tests: DotSceneTests - fix shutdown
v13.6.1
- Main: range loop refactoring (#2740)
- GLES2
- better handle the case where we dont have texture_border_clamp
- Emscripten: dynamically switch to WebGL2, if possible
- Emscripten - add override annotations
- RTSS: fix parsing triplanarTexturing params
- Samples
- Character - use depth shadows
- remove no longer existing resource location
v13.6.0
Highlights
- Image Based Lighting provided by the RTSS
- Terrain shaders generated by the RTSS
- significantly improved shadowing quality
- Rust based image codec
- Compute shader & UAV support for D3D11
What's Changed
- Main
- Implement a fallback for Ogre::Font::getGlyphInfo() (#2689)
- add scripting support for unordered image access
- assert that object was attached when detaching
- auto-instancing - improve case when overwriting TEXCOORD1 in mesh
- ConvexBody - deprecate logInfo()
- correctly export typeinfo for Vector
- deprecate TUS::hasViewRelativeTextureCoordinateGeneration
- ETCCodec - fix handling unsupported formats
- factor out logMaterialNotFound
- fix array autoconstant corruption with CONFIG_DOUBLE
- HardwareBufferManagerBase - drop makeBufferCopy
- improve error message, when there is no active CompositorChain
- LiSPSM - drop obsolete workaround
- make normal textures available to compute shaders
- MeshSerializer.exportMesh - organize overloads and support MeshPtr
- NumericAnimationTrack - const correctness and inline accessors
- PF_R11G11B10_FLOAT is not native endian
- provide numMipMaps in ACT_TEXTURE_SIZE .w
- range loop refactoring (#2686, #2697, #2708, #2716, #2727, #2732)
- remove unused iterator instantiations
- rename TU_UAV to TU_UNORDERED_ACCESS
- Script - rename unordered_access > unordered_access_mip
- ShadowRenderer - cull cam must be updated after pose is set
- ShadowRenderer - fix shadow culling frustum getting stuck
- ShadowRenderer - use shadow pancaking, if possible
- Texture - support alternative cube face naming and recommend it
- update precompiled header
- validate TextureUnitState TexCalc settings
- validate texUnit against caps in _setTextureUnitSettings
- Revert "Quaternion - always use float storage"
- Fix compiler errors when OGRE_CONFIG_THREADS is set to 1
- UnifiedShader: add textureCubeLod
- Dependencies: update SDL2, Assimp
- SWIG: wrap DefaultHardwareBufferManager
- RTSS
- add 2 argument callBuiltin overload
- add Image Based Lighting SRS
- allow creating structs in generated code
- also redirect writes to globals on HLSL
- correct handling of isTextureLoadFailing
- FFPTexturing - move trivial blend functions to cpp
- FFPTexturing - serialize late_add_blend by default
- FFPTexturing - simplify env_map reflection
- FFPTexturing - simplify env_map texcoord generation
- FFPTexturing - simplify projective texturing
- fix integer float mul, which GLSLES dislikes
- IBL - assume hwgamma to correctly handle HDR envmaps
- IBL - fix DFG LUT lookup
- merge HLSL and CGProgramWriter
- move serialization code to SGMaterialSerializerListener
- normal mapping - apply tangent parity bit
- refactor PBR lighting stages using a PixelParams struct
- slightly update CookTorrance shader
- Terrain
- use RTSS to generate main & composite techniques
- blendTerrainLayer - early out, if blending would have no effect
- correctly blend normalmap layers
- deprecate ReceiveDynamicShadowsDepth
- do lighting in view space, matching the RTSS
- do not cast dynamic shadows by default
- Tools: AssimpConverter - also export RTSS sections in material
- Plugins
- Assimp - prepend mesh name to material
- add new Rust Image Codec
- RenderSystems: drop unused OgreMain includes
- GL*
- drop unused HardwareBufferManager::getStateCacheManager
- slightly clean up StateCacheManager
- unify more of GLSLProgramManagerCommon
- GL3+
- fix PF_R11G11B10_FLOAT support
- StateCache - disable state caching that breaks multi-context use
- GLES2
- correctly enable TAM_BORDER, when possible
- Remove "using namespace Ogre" from a header (#2690)
- Vulkan
- implement _setDepthClamp
- implement HBL_NORMAL for HardwarePixelBuffer
- implement SRGB support
- D3D11
- correctly handle PM_POINTS
- enable support for PF_R11G11B10_FLOAT
- follow the common unordered access API
- implement _dispatchCompute and UAVs
- D3D9
- do not clamp texunits to FFP limits
- Texture - correctly report number of mipmaps with TU_AUTOMIPMAP
- Docs
- AnimationTrack - fix duplicated and outdated note
- update 13-Notes with 13.6 changes
- Samples
- disable DragLook for iOS at single place
- Dot3 - show RTSS materials first
- drop no longer used SampleLib_ReflectionMap
- fix LightShafts after shadow camera changes
- PBR - fix compilation with double precision
- PBR - fix reflections with glTF2 and Filament
- remove material export from ShaderSystem sample
- ShaderSystem - replace ReflectionMap by IBL SRS
- use new IBL cubemap and clean up IBL sample data
- use RTSS for Examples/BumpMapping/MultiLightSpecular
- Tests
- add test for NumericAnimationTrack
- Test Quaternion double precision
- PlayPen - fix IntegratedPSSM test
- allow taking screenshots, when run in SampleBrowser
- shut down current test before starting the next
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return: