Releases: OGRECave/ogre
Releases · OGRECave/ogre
v14.2.1
- Main
- GpuProgramManager - bump Microcode cache version
- Material - ensure supported techniques are refreshed on reload
- SWIG: correctly wrap time_t
- Bullet: DebugDrawer - fix typo in line color conversion
- D3D11: Revert "removed unecssary null ptr checks + changed NULL to nullptr"
- Samples: Media - remove unused files
- Tests: make sure Trays are not shown when samples are run as Tests
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:
v14.1.2
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