Releases: OGRECave/ogre
Releases · OGRECave/ogre
v14.3.2
- Main: add debug build guard on Ogre::Root
- MinGW - drop some hardcoded flags
- SWIG: fix compilation with swig 4.3.0
- Overlay
- Font - simplify GlyphInfo calculation
- TextArea - simplify glyph positioning
- Csharp: correctly wrap getCustomAttribute output *void
- D3D11: silence null conversion warnings
- D3D9: GpuProgram - dont use deprecated openResource
- GLSLang: Fix build when OSDependent library is missing. (#3249)
- GLSupport: OSX - add override annotations
- Metal: add override annotations
- Tests: slightly simplify ImageValidator
- Samples: allow gaussiansplat on GLSL
v14.3.1
- Main
- Animation - fix crash w/o keyframes on libc++ (#3237)
- ScriptCompiler - pass on variables as names
- CMake: add deprecation warnings to plugins
- Overlay: Font - report unsupported parameter
- Plugins: RsImage - expose *.hdr support
- Plugins: STBI - update stb_image
- GLSupport: Android - add currentEGLSurface misc param (#3236)
- Docs
- fix some minor doxygen warnings
- Manual - improve fontdef documentation
- Manual - move multi-module shaders to GLSL section
- Material - fix invalid references
- recent doxygen does not like _ in labels any more
- Tutorial1 - reference gltut for quaternions
- update BuildingOgre
- D3D9: fix documentatuon of _cleanupDepthBuffers
- Samples: Browser - log if plugin is not a sample
v14.3.0
Highlights
- 3D Gaussian Splatting and VET_HALF support
- Mesh Shader Support
- Wayland Support on Linux
- HighPy module for Python
What's Changed
- Main
- add support for Mesh & Task shaders
- add RSC_VERTEX_FORMAT_16X3
- add OGRE_NATIVE_GLSL_VERSION_DIRECTIVE builtin define
- UnifiedShader: add dFdx, dFdy
- AutoParamDataSource - always use the real view matrix
- Bitwise - use floatToHalf from meshoptimizer
- Compositor
- allow textures to set a specific FSAA level
- ensure unused global textures are setup
- simplify local Texture creation
- range loop refactoring (#3169)
- simplify creation of global textures
- CompositionTechniqueTranslator - improve error message
- do not throw when parsing an invalid .compositor
- EdgeListBuilder - hide geometryLess
- EdgeListBuilder - use fixed size types as stored on disk
- factor out common D3D11 and GL3Plus UBO code
- fix crash in the ControllerManager::updateAllControllerswhen mControllers is changed while iterating over it (#3216)
- Frustum - float is sufficient for near and far distances
- Frustum - getViewMatrix should be virtual
- GpuProgramParameters - assert correct constant type
- GpuProgramParameters - setNamedConstant only handles float
- HardwareOcclusionQuery - add more descriptive API
- HardwarePixelBuffer - factor out getNameForRenderTexture
- HardwareVertexBuffer - add VET_HALF support
- Image - derive type from stream name
- improve naming scheme of compositor textures
- introduce OgreGpuEventScope macro
- MaterialSerializer - further reduce TextureEffect usage
- MaterialSerializer - reduce TextureEffect usage
- MeshSerializerImpl - fix calcMorphKeyframeSize
- OgreAnimation - range loop refactoring (#3225)
- Pass - alias compute shader to vertex shader storage
- QueuedRenderableCollection - cluster instanced groups
- register SceneManager as container of its animations
- RenderTarget - unconditionally add profiling annotations
- Revert "Main: RenderSystem - simplifying remove render targets (#2524)"
- RenderWindow - provide default resize impl
- RGM - warn if we are skipping encounter a duplicated resource
- SceneManager
- allow toggling per-renderable light lists
- annotate mesh name in instance batch
- drop _renderVisibleObjects indirection
- implement the AnimationContainer API
- simplify sky rendering API
- ShadowCaster - add default implementations and devirtualise them
- SubEntity - inline and const correct getSubMesh
- Texture - rename TU_NOT_SRV to TU_NOT_SAMPLED
- TextureUnitState
- add getProjectiveTexturingFrustum
- alias EnvMapType to TexCoordCalcMethod
- refactor internal effects mapping
- texture matrix will be always float
- update StableHeaders
- VertexData
- convertVertexElement allow specifying index
- implement float3 to half3 conversion
- implement paddig 16x3 formats to 16x4
- slightly refactor spliceElement
- VertexElement - handle VET_HALF in multiplyTypeCount
- Deprecations
- un-deprecate 1 and 3 component short VET
- deprecate RSC_VERTEX_TEXTURE_FETCH
- deprecate StringConverter::isNumber
- SubEntity - deprecate IndexStart & IndexEnd
- Build
- Bites
- Trays - Slider value can be always float
- Check whether SDL supports Wayland and X11
- RTSS
- SWIG
- correctly wrap HardwareOcclusionQuery::pullOcclusionQuery
- Python - allow releasing the GIL during swapBuffers
- Python: add HighPy module
- Volume
- MeshBuilder - index is always uint32
- MeshBuilder - use merge for bbox computation
- range loop refactoring
- hide MCTables
- Terrain: range loop refactoring
- Assimp
- disable lighting, if we have no normals
- fix loading embedded textures in FBX
- allow passing options via UserAny
- do not blow up aabb
- GLSLang
- isSupported - correctly consider capabilites
- SSBOs in Mesh shaders dont have to be shared params
- fix linking on ubuntu 22.04
- GLSupport
- GL*:
- HardwareOcclusionQuery - allow calling methods out of order
- Prevent using a shared FBO renderbuffer if not clearing (#3168)
- GL3Plus
- add missing mapping for task shaders
- bind vertex buffers as SSBOs for mesh shaders
- do pixel-wise occlusion queries
- GLSLShader - need padding when using UBOs
- ignore our own debug markers
- jump over #extension when patching SSO block
- offset mesh SSBO binding by 3
- remove commented out code for image bind
- use global instead of per shader UBOs
- GL
- add VET_HALF support
- hide GLSLProgramFactory forward declaration
- D3D*: HardwareOcclusionQuery - retain LastQuerysPixelcount
- D3D9: drop unused mLights
- D3D11
- drop unused str to VES mapping
- Fix crash when re-preparing a HLSL program
- use global instead of per shader cbuffers
- Vulkan
- add adjacency topology mappings
- allow using VULKAN_SDK on all platforms
- complete VET mappings
- enable UBOs for mesh shaders
- fix indexBuffer check
- fix window creation on non-wayland
- update volk to get mesh shader ext
- move USE_VALIDATION_LAYERS define to header
- PCZSceneManager: fixed AntiPortals not being deleted (#3134)
- Tools
- AssimpConverter
- fix HBM destruction order
- stop linking against Codec_Assimp
- XMLConverter
- add VET_HALF support
- fix HBM destruction order
- handle VET_HALF positions
- simplify texcoord processing
- AssimpConverter
- Docs
- 14-Notes - document new 14.3 features
- add diagram for the animation system
- add mesh shader and show UBO and SSBO usage in sample
- describe UBO usage on GLSL
- improve formatting of Linux dependency install
- include Python component
- Manual - improve Animation section
- fix addResourceLocation documentation
- Viewport - fix docs reference & formatting
- Animation - fix docs formatting
- suppress some false doxygen warnings
- Tutorials: update CMakeLists.txt (#3152)
- update AUTHORS
- only include main RenderSystem headers
- Samples
- add gaussian splatting sample
- Media
- drop some unused shaders
- drop unused material
- merge parallax_occlusion into OffsetMapping.material
- merge single material files into Examples.material
- move pose & morph animation test materials to Tests
- move some materials to Tests
- split out ShowVertexAttributes.material
- Lighting - refactor occlusion query code
- Lighting - reference materials by ptr
- standard shadow caster is sufficient
- Terrain - fix invalid config when switching shadow types
- use modern controller creation API
- use RTSS to show normals
- add category for shader samples & add mesh shader sample
- Tests: fix SwizzleGP for GL1
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v14.2.6
- Main:
- MaterialSerializer - write vertexcolour regardless of lighting setting
- ResourceGroupManager - fix condition for changeGroupOwnership
- ScriptTranslator - do not assert on empty material names
- VertexData::reorganiseBuffers - assert srcelem exists
- SWIG:
- enable Matrix4 / Affine3 multiplication
- fix a bunch of warnings
- Python: Numpy.view - handle Affine3
- GLSLang: fixing linking on archlinux (#3115)
- Assimp: disambiguate embedded textures
- GLSupport: OSX - verify that contentScalingFactor is active
- Vulkan: correctly report the programs it supports
- Samples:
- Compositor - fix RT debug view with RTSS
- LightShafts - use PF_DEPTH16
- Tools
- use explicit anchor for empty material names
- XMLConverter - print the reason if parsing fails
- Docs: improve gpu_*_rule formatting
v14.2.5
- Main: MovableObject - getReceivesShadows does not need best technique
- CMake: fix compling for android on osx
- Overlays: Font - fix memory leak when using stbtt (#3100)
- DotScene
- D3D9: make sure AutoHardwareBufferManagement is enabled on first run
- GLSLang: add workaround for compilation with glslang v14+
- Samples
- Browser - fix configure menu being always disabled
- correctly disconnect input on paused events
- drop edgelists from sibenik.mesh to reduce size
- fix crash on restarting sample
- range loop refactoring (#3083)
- Docs
- fix SceneManger doc formatting
- fix various docstrings causing unintended code formatting
- improve point_size_attenuation docs
- Tutorial3 - clean up headers and add merge example with imagick
v14.2.4
- Main: Log - spell out %T as MinGW does not support %T
- Bites: fix building without imgui
- Dependencies: update assimp to 5.4.0
- DotScene: Add support for LT_RECTLIGHT (#3074)
- Property: range loop refactoring
- MeshUpgrader
- Add option to print version
- Log packing of normals and tangents
- Docs: fix typos (#3072)
v14.2.3
- Main
- Material - fix technique loading regression introduced in v14.2.1
- ScriptTranslator - report if texture is re-declared with different settings
- ShadowRenderer - check that tech and pass exists
- Technique - allow compiling simple techniques without RS
- GL3+: fix getClosestGLImageInternalFormat (#3065)
- GL: Update ps_1_4.cpp (#3066)
- MeshLOD: range loop refactoring (#3064)
- Samples: Character - use InputListenerCain for event propagation
v14.2.2
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: