Releases: OGRECave/ogre
Releases · OGRECave/ogre
v14.4.1
- Main
- add missing include in OgreSubEntity
- Bitwise - do not generate nan for bits=0
- fix windows compile warnings
- Matrix3 - fix parameter names of EulerAngles conversions
- OgreBullet
- handle CF_NO_CONTACT_RESPONSE setting
- initialize mMaxPenetrationDepth to zero
- RTSS: fix windows compile warnings
- DotSceneLoader - only call setInitialState when needed
- Samples
- exclude PerlinNoiseTerrainGenerator if terrain component is not built
- Water - avoid resetToInitialState
v14.4.0
Highlights
- Full Layered RenderTarget Support
- Initial Icon Font Support
- Improved Bullet Component
- New Bone debug drawing
What's Changed
- Main
- add ACT_WORLDVIEWPROJ_MATRIX_ARRAY & setVPRTCameras
- add MSN_SHADOWCASTER and use it for caster instancing data
- add RSC_VP_RT_INDEX_ANY_SHADER
- add support for 2darray and cube shadow samplers
- add TU_TARGET_ALL_LAYERS
- allow forcing DXT decompression via Codec::setParameter (#3291)
- Android - fix segfault if LogManager singleton already exists (#3423)
- AnimationTrack - use signed comparison to avoid overflow (#3359)
- apply global instancing to all scene objects
- AutoParamDataSource - allow injecting cameras
- Bone: inline some trivial getters
- Compositor
- add 2d_array texture support
- factor out common RT creation
- mention compositor name in warning
- CompositorInstace - drop internal getTargetForTex
- DefaultDebugDrawer - improve bone drawing
- Entity - simplify Bone iteration in getBoundingBox
- fix PF_R8G8 mask (#3323)
- Frustum - handle manual extents and nearPlane change
- handle ShadowTechnique in SceneManger
- HardwarePixelBuffer::getRenderTarget - const correctness
- HardwarePixelBuffer::getRenderTarget - use assert for range check
- Image - use malloc & free to avoid asan warnings
- improve naming of internal rendertextures
- ManualObject - do not duplicate material name & group
- ManualObject - fix auto instancing interop
- move splitOptions to SceneManager
- MultiRenderTarget - devirtualize bindSurface
- NameGenerator - do not use StringStream
- drop some unused sstream includes
- new scheme based global instancing API
- ParticleSystem - reorder base classes and fix casts
- range loop refactoring (#3373)
- re-group shadow documentation in SceneManager
- RenderTarget - devirtualise detachDepthBuffer
- RenderTarget - devirtualise trivial API
- SceneManager - add setShadowTextureCompositor
- SceneManager - const correctness
- SceneManager - reuse resolveShadowTexture
- ScriptCompiler
- add getSourceFile
- add simplified addError API
- add simplified ScriptProperty API
- fix build with DEBUG_AST
- prefer 2d_array spelling
- ScriptTranslator - a property cannot have no values
- ScriptTranslator - simplify getValue
- ShadowRenderer
- add support for layered textures
- add support for TU_TARGET_ALL_LAYERS
- split out TextureShadowRenderer from ShadowRenderer
- split shadow renderers into separate cpps
- ShadowRenderer needs export for MinGW
- simplify Node constructors
- Skeleton
- derive nextAutoHandle from boneList
- devirtualise and inline trivial functions
- ensure all Bones are named
- SkeletonInstance - TagPoints dont need a handle
- SkeletonSerializer - use range based for
- StencilShadowRenderer - programs already use the shadow colour
- store shadow colour in AutoParamDataSource
- StreamSerialiser - initialise headerid
- Texture - add API for unified cubemap and 2D array access
- Texture - factor out common createSurfaceList
- transparents are rendered always after shadowing
- use constexpr for static Vector constants (#3315)
- use inline methods for passing geometry counters
- Use constexpr for static colour constants
- use StringConverter where applicable to join StringVector
- VertexIndexData - fix some Wshorten-64-to-32
- Viewport - add Rect based overloads & regroup methods
- ZipArchive - propagate read only flag to MemoryDataStream
- deprecations
- Root - deprecate autoCreateWindow
- deprecate SceneManager::getShadowCasterBoundsInfo
- Camera - deprecate setWindow
- CMake
- add RsImage codec to feature summary
- fix feature summary for Qt6
- android: update templates to work on recent android APIs
- Dependencies: add workaround for CMake 4 havoc
- Dependencies: update Assimp
- Dependencies: update SDL2
- RTSS
- add SPS_LAYER
- disable mip filtering on shadowmaps
- enable SM4.1 if supported
- handle texture2DArray samplers
- NormalMap - f suffix not allowed with ES2
- Parameter::Content is not exhaustive - pass it as int
- port to new ScriptProperty API
- PSSM - allow using array shadow textures
- PSSM - use TEXTURE_WORLDVIEWPROJ_MATRIX_ARRAY
- ShaderGenerator - drop unused FileSystemLayer member
- ShaderGenerator - factor out getScheme
- use the list of supported techniques
- WBOIT & IBL require ES3
- SWIG
- Overlay
- BorderPanelOverlayElement - correctly initialize mBorderUV
- Font - add merge_fonts property
- Font - fix stbtt build
- ImGui - change texture sampler to clamp
- ImGui - preserve alpha in output buffer
- port to new ScriptProperty API
- run on preRenderQueues
- update imgui to 1.91.9b
- OgreBullet
- Terrain
- disable mip filtering on textures without any
- drop ios saving hack
- drop unused NameGenerators
- generate mipmaps on composite map
- TerrainSlotMap: add SWIG bindings (#3298)
- use scissor to limit compRTT update and disable depth
- UnifiedShader
- avoid introducing shadow2D variants
- fall back to VPOS on HLSL3
- HLSL_SM4Support - use texSample overloads for SM4
- GL3Support - always use UBOs with GLSLang
- Paging: drop ios saving hack from Page
- PCZ: range loop refactoring
- Plugins
- Assimp
- create skeleton in the correct group
- try to detect material transparency
- add support for GLTF2 alpha MASK & BLEND
- let Ogre do the bone counting
- RsImage - update image-rs
- Assimp
- GL*
- dont pass GLFBOManager around - it is a singleton
- dont store RTT manager twice
- GL3Plus
- fix binding TEXTURE_2D_ARRAY to FBO
- drop unused mTextureTypes
- respect attachment type for cube maps
- D3D11
- add _createShared2DTex() for WPF interop
- fix rendering to a slice of a pf_depth 2d_array
- RenderTexture - ignore zoffset if we are rendering to all layers
- set the correct mip level for rendertargets
- Texture - fix DDS mipmap truncation issue (#3290)
- Vulkan
- fix blitFromMemory for non consecutive src
- handle TU_TARGET_ALL_LAYERS
- RenderPassDescriptor - correctly handle mSlice
- RenderPassDescriptor - fix validation errors
- Texture - use getNumLayers from parent class
- VulkanRenderTexture - treat zoffset and face the same
- GL: GLTextureBuffer - drop unused getRenderTarget overload
- Tests
- upgrade bundled gtest
- extend tests to XML to mesh conversion
- fix line endings of testdata
- Tools
- XMLConverter
- allow using material multiple times in XML
- make bone id optional in XML
- use range based loop for bone iteration
- AssimpConverter
- add resource location for multipart files
- correctly resolve bundle path
- dont meddle with rpath
- XMLConverter
- Docs:
- 14-Notes: describe layered shadow samplers
- 14-Notes: add compositor support for 2d_array textures
- 14-Notes: add VPRT support
- add HighPy section to Python tutorial
- GLSL - improve binding attributes and samplers section
- Manual - improve Material object documentation
- improve README
- Samples
- fix some mipmap incomplete cases with GLES2
- InstancedViewport - allow rendering to layered target
- InstancedViewports - refactor to work with Cameras
- range loop refactoring (#3366)
- Re-add Ocean.controls for Ocean sample (#3421)
- ShaderSystem - drop directional light flare
- ShaderSystem - minor cleanup
- ShaderSystem - showcase single pass PSSM3
- ShaderSystem - use unlit caster for D3D11
- Terrain - fix terrain saving
- Transparency - do not require WBOIT to run
Development is funded by your contributions
If you use Ogre commercially, consider supporting its development in return:
v14.3.4
v14.3.3
- Main: range loop refactoring (#3272)
- CMake
- disable PDB installation on static build
- update SDL2 to 2.30.11
- RTSS: CookTorrance - fix using alpha from texture
- Docs
- Manual - add note about vs_2_0 aliasing on D3D11
- Manual - elaborate assembler shader syntax usage
- Tests: range loop refactoring and change raw pointer to smart pointer (#3271)
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)