Releases: OGRECave/ogre
v13.2.1
What's Changed
Highlight: PF_DEPTH support in D3D9
- Main
- Texture - fix loadImage after loadingstate changes
- fixed build on old macOS
- GLSupport
- factor out common GLX & EGL X11-code
- fix potential crash in EGLDisplay exception path
- D3D11: allow PF_DEPTH as part of a MRT
- GLES2: fix HardwareBuffer::readData
- D3D9
- add PF_DEPTH16 support via INTZ
- do not call D3DXCheckTextureRequirements twice
- Texture - streamline format selection
- Samples: Compositors - use UnifiedShader for DOF on HLSL
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.2.0
What's Changed
Highlight: Vulkan RenderSystem added
- Main
- Frustum - deprecate getProjectionMatrixRS
- Mesh - drop mSkeletonName as it always matches mSkeleton
- RenderSystemCapabilities - deprecate int&bool programConstantCount
- RenderSystem - hard deprecate old StencilState API
- ResourceGroupManager - move error checking to getResourceGroup
- SceneManager - better GPU profiler grouping
- ScriptTranslator - deprecate cull_software
- ScriptTranslator - streamline parameter type parsing
- ShadowRenderer - load spot_shadow_fade.dds ahead of time
- Texture - ensure listeners are notified for manual textures too
- TextureUnitState - drop reference to managed textures on unload
- GpuProgramParams - dbg assert we dont write out of bounds
- update zip/ miniz to 2.2.0
- Use safe idiom for math constants.
- allow instanced rendering w/o an instance buffer
- Fix FTBFS on GCC 11
- Media: drop obsolete HLMS shaders
- remove windows defines from cross-platform code
- Bites
- ApplicationContext - add method to query the current DPI
- Trays - disable transparent sorting to improve batching
- UnifiedShader
- add OGRE_UNIFORMS macro to toggle UBO usage
- add row_major for Vulkan
- correctly guard Vulkan specific macros
- fix availability of semantic aliases
- map ivecN to HLSL
- add all TEXCOORDn defines
- RTSS
- allow targeting glslang
- further refactor parameter writing
- GLSL - enable binding samplers in shaders via UnifiedShader
- GLSL - let UnifiedShader take care of gl_FragColor differences
- GLSL - use separate program linkage when available
- GLSL - Vulkan is strict regarding vertex attribute type
- GLSL - we can safely use custom attribs for VES_COLOUR everywhere
- GLSL - write params as UBOs when using SPIRV
- GLSL - write uniform location when possible
- merge GLSLESProgramProcessor into GLSLProgramProcessor
- ProgramManager - use writer language as cache-file extension
- refactor ProgramProcessor registration
- refactor ProgramWriter registration
- update ShadowPCF4 for Vulkan
- use UnifiedShader sampler declarations with all ProgramWriters
- write semantics with GLSL too - to be used as attribute locations
- Overlay
- fix missing bits for HiDPI support
- Font - disable transparent sorting to improve batching
- ImGui - use Vulkan friendly buffer management
- revert our changes to utf8_decode that broke it
- update imgui to 1.85
- Terrain
- avoid interrupting rendering for Vulkan compatibility
- GLSL - add Vulkan support
- use texture unit count instead of shader language as heurstic
- GLSLang
- correctly read alignment of UBOs
- do not register if SPIRV is not supported
- SPIRV-Tools dependancy is superfluous
- UBO - fix wrong size and disable logical indexing
- do not pad 1-element uniforms as per std140
- use latest GLSL version to get all features
- Vulkan
- add new RenderSystem based on ogre-next version
- currently classified as BETA
- D3D*: drop unused createInternalResources overload
- D3D11
- allow using debug markers, regardless of Ogre instrumentation
- HLSLProgram - destroy default buffer on unload
- D3D9
- HLSLProgram - set correct bufferSize when reading microcode
- stop counting constants twice for parameter buffer size
- GL*
- drop superflous GLHardwarePixelBuffer indirection
- RTT Preferred Mode is legacy GL specific
- allow PF_DEPTH MRT on GL & GLES2 + small fix for GL3+
- GL3+
- allow binding samplers in shader
- use BaseVertex variants for vertexStart instead of trashing VAO
- Metal
- drop superflous code-paths
- finish DepthBuffer support
- simplify uniform index offset handling
- fix wrong VES_TANGENT location
- Docs
- BuildingOgre - add Vulkan requirements
- BuildingOgre - update dependancy list
- improve cmake part of bootstrap tutorial
- improve instancing section
- Manual - rework hardware buffers section
- Manual - adapt some pages for new theme
- move library descriptions from Tutorial1 to Setup
- use doxygen awesome theme for readability & mobile support
- add Metal and Vulkan to modules and remove GLSupport
- Samples
- Browser - fix drawing of Thumbnails
- Browser: scale overlay on HiDPI displays
- Instancing - drop check for specific shader languages
- LightShafts - update for Vulkan
- PBR - update for Vulkan
- Skinning - make sure we query the correct scheme
- TextureArray - update for Vulkan
- use UnifiedShader for B&W compositor to get Vulkan support
- Fresnel - port to UnifiedShader for Vulkan support
- implement DoF compositor
- ShaderSystem - move InstancedViewports code to that SRS
- Tests
- update gtest to 1.10
- BillboardText - use non-ascii pangram to test utf8 decoding
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.1.1
What's Changed
- D3D11: drop superfluous ColourValue mapping
- GL3Plus: fix usage of glObjectLabel
- GLES2: clean-up glLabelObjectEXT usage
- GLSLang
- add local copy of gl_types.h as Vulkan SDK lacks it on Windows
- allow compiling on Android
- allow compiling on Windows
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.1.0
What's Changed
- Main
- add factory for Rectangle2D to allow auto memory management
- add Rectangle2D to Ogre.h
- Deprecated - drop duplicate definition of aligned_vector
- ensure manual Textures have correct Resource load state
- Entity - handle srcbuf == dstbuf in finalisePoseNormals
- FactoryObj - provide default destroyInstance
- HighLevelGpuProgram - make entry_point a common property
- HighLevelGpuProgram - _resolveIncludes fix off-by-one #line number
- MeshSerializer - simplify colour conversion logic
- ParticleSystem::_expire - use idiomatic remove-erase
- ParticleSystem - properly initialise bursting emitted emitters
- ParticleSystem - we can assume emitters are not NULL
- RenderSystem - factour out flipFrontFace
- RenderWindow - provide default isClosed() implementation
- SceneManagerFactory - provide default destroyInstance
- SceneManager - inline aliases for destroyMovableObject
- fix some warnings messages in android ndk r23 compilation
- CMake
- allow to control resource paths (#2199)
- Allow to configure docs path
- Fixed missing include in FindOpenGLES2.cmake
- Enable OBJC and OBJCXX for apple build
- RTSS
- Fix implicit cast in shader (#2201)
- implement two-sided lighting
- PSSM - make PCF kernel configurable & fix reversed-z
- PSSM - properly respect shadow far distance
- Bites: Use Qt 6 for OgreBitesQt if present
- UnifiedShader
- add texture2DArray support and refactor respective sample
- initial support for glslang
- Overlay
- BorderPanelOverlayElement - fix crash on device lost
- fix compilation with imgui on mingw
- D3D11: Sampler - fix mipFilter=FO_NONE translation
- D3D9: Texture - do not recreate unloaded buffers
- Metal: drop uneeded Discard and Staging buffer stubs
- GL3Plus & GLES2: improve GL error logging
- GLSupport: Fix build issue with libglvnd 1.3.4 (#2221)
- GLSLang
- fix parsing of UBO members and define VULKAN as appropriate
- handle includes and defines
- enable standard params & add vulkan support
- Samples: fix build without terrain component
- Docs: Particles - fix emitting emitter description and improve layout
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.0.1
- Fix compiling errors with OGRE_CONFIG_DOUBLE
- Main: FileSystemLayer - add missing include for OSX
- Overlay: also link against zlib, when using freetype
- Samples: EndlessWorld - fix AutoLOD toggle
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v13.0.0
The versioning scheme changed with this release. This is the successor to Ogre 1.12 and the porting efforts are comparable with porting from 1.11 to 1.12.
- Main
- move
- deprecated std wrappers into OgreDeprecated.h
- SceneType enum to OgreDeprecated.h
- StaticCache to Deflate, which is the only consumer
- StaticFaceGroup to BSP plugin
- hide
- implementations of built-in image codecs
- macros of OgreDynLib.h
- OGRE_LOG_THRESHOLD
- OgreMeshFileFormat.h
- OgreSearchOps.h
- ParamCommand classes
- private parts
- RadixSort
- stroto*_l internal aliases
- drop
- "Custom Render Queues" support
- deprecated SceneLoader API
- identifiers for compilers gone long ago
- long-standing hard deprecations
- most of texture_alias API
- ParticleIterator
- some deprecated functions with low impact
- _StringBase & _StringStreamBase indirection
- subroutine API in favor of specialization constants
- support for TEX_TYPE_2D_RECT
- Compositor
- avoid evaluating Techniques twice
- CompositorChain - correct clearBuffers value for "input previous"
- drop read_back_as_texture option
- fix auto clear colour and use it in "scene previous"
- improve error reporting
- throw on compositor not found
- CompositorPass - group data by type
- simplify RSStencilOperation
- SceneManager
- createLight - add convenience param to specify Type
- default to PF_BYTE_RGBA for shadow textures
- factor out ShadowTextureListener
- getDebugDrawer should be const
- SceneNode - drop deprecated WireBox field
- change SceneNode::setDirection TS_LOCAL > TS_PARENT
- StaticGeometry
- allow swapping material at runtime
- assert that we get an indexBuffer
- minor code cleanup
- use more robust prepareForShadowVolume
- use the entity material and not the mesh one
- fix StaticGeometry not casting shadows
- InstanceManager
- assert that technique is supported
- unshare LODs as well (#2000)
- Make sure cloned vertex data is deleted.
- ShadowRenderer
- also consider lightmask in shadow visibilitymask
- check whether pass is actually programmable
- drop unused fields
- ensure shadow caster material is not a receiver
- handle dynamically changing receivers
- Root
- catch bad config options in restoreConfig
- drop createRenderWindows
- Image
- consistently use uint32 for dimensions
- drop unsupported Filter enum values
- TRect
- add asserts to merge & intersect
- clarify that rects extend downwards.
- Particle & Billboard
- store packed colour to safe memory
- reduce memory footprint
- ParticleEmitter
- provide default _getEmissionCount
- add burst mode
- UnifiedGpuProgram
- add final annotation
- drop priorisation support
- GpuProgramParams
- drop RenderSystemData
- use unified constant storage
- GpuSharedParameters
- batched up & download
- drop unused fields
- use sized int for version field
- FileSystemLayer
- do not change paths already pointing inside snap
- also look relative to lib for configs on Linux
- add API for exporting scene hierarchy + dotscene implementation
- add copy of miniz/ zip
- alias deprecated caps to RSC_VERTEX_PROGRAM
- always use MovableObjectFactory::destroyInstance
- Capabilities - drop deprecated and generally supported caps
- catch empty GpuProgram sourceFile
- Codec - drop deprecated parts and move the rest to ImageCodec
- consistently use float for depth and uint16 for stencil values
- convert guarded ERR_INVALIDPARAMS to OgreAssert
- DDSCodec - disable mips instead of decompressing
- DefaultDebugDrawer -Skip bounding boxes that are infinite.
- DepthBuffer - simplify API
- Disable vptr checks for Singleton constructor (#2032)
- Export ScriptTranslatorManager (#2031)
- factor out GLSL_GL3Support include and use it in RTSS
- fix texture_unit name setting
- Frustum - stop inheriting from Renderable
- GpuNamedConstants - drop generateConstantDefinitionArrayEntries
- GpuProgram - const correctness fixes
- HardwareBufferManager - stop superfluos Buffer tracking
- HardwarePixelBuffer - unify SliceTRT handling
- HL GpuProgram - make populateParameterNames final
- Log::Stream should only be movable as per STL streams
- make custom int types forward to stdint.h
- make HighLevelGpuProgramPtr an alias for GpuProgramPtr
- make log of RSC_AUTOMIPMAP_COMPRESSED descriptive
- make remaining createImpl overrides private
- make STL usage more specific, by slimming down OgreStdHeaders.h
- Material - drop needless pointer indirection
- MaterialSerializer - do not export RTSS techniques by default
- Math - add missing limits include (#2051)
- Math - Use Möller-Trumbore ray-triangle intersection algorithm
- merge HighLevel & GpuProgramManager
- Node - drop DebugRenderable
- OgreAssert - behave like standard assert and print expression
- ParticleSystem - use vector instead of list to collect Particles
- Particle - always use own dimensions
- Pass - drop shadow_*_program_ref API
- Pass - inline trivial accessors & use float for storage
- PixelFormat - inline alias functions and improve docs
- Prefabs - drop no longer needed Prefab_Axes
- Rect - use int32 as base type for MSVC/ GCC consistency
- RenderQueueGroup - drop unused argument from constructor
- RenderSystem - make setStencilState the primary stencil API
- RenderTarget - drop ColourDepth property
- RenderTarget - drop unused StatFlags enum
- RenderWindow - setFullscreen & reposition are optional
- replace HardwareUniformBuffer by plain HardwareBuffer
- replace zzip & libz with zip/ miniz
- ResourceBackgroundQueue - hide details
- Resource - clarify unprepareImpl documentation
- ResourceGroupManager - replace WorldGeometry by CustomStage
- ResourceManager - const correctness
- ResourceManager - fix compilation in legacy mode
- ScriptTranslator - catch invalid material references in compositor
- ScriptTranslator - fix applyTextureAliases fallback
- ShadowCameraSetupFocused - make some members private
- ShadowCaster - simplify getShadowVolumeRenderableList API
- Simplify DefaultHardwareBuffer creation
- simplify & inline getElement(N) helper functions
- Skeleton - fix addLinkedSkeletonAnimationSource
- Skeleton - make mAnimationsList available to derived classes
- slightly clean up TextureUnitState
- slightly refactor FocusedShadowCameraSetup
- StreamSerialiser - improve error reporting with OgreAssert
- StringInterface - add SimpleParamCommand template
- StringInterface - directly use name instead of ParameterDef
- StringUtil::normalizeFilePath - default to keep case
- Texture - allow manually overriding image mips
- TextureManager - add removeAllNamedSamplers
- unify ShadowRenderable implementations
- unify SharedPtr typedef names as Ptr
- use int in TextureUnitState::getTextureDimensions
- use typed enums and update field order to reduce padding
- use unnamed SceneNodes as possible
- UtilSSE - assert correct stride in softwareVertexMorph
- VertexElementType - make VET_COLOUR* an alias for VET_UBYTE4_NORM
- Viewport - disable clearBuffers if clearEveryFrame is off
- reduce availability of iteratorwrapper by using forward declarations
- rename Media/ShadowVolume to Media/Main
- Mark public shader functions with @public-api
- move
- Bites
- ApplicationContext - drop platform shader discovery heuristics
- ApplicationContext - skip resource location check on emscripten
- Trays - ensure Font is loaded before using it
- Trays - ensure glyph info is loaded
- RTSS
- add WBOIT SRS and extend Transparency Sample
- allow injecting data via local variables (PSSM, Lighting, Texture)
- allow passing SPC_TANGENT_OBJECT_SPACE to FS
- auto param data can only be float/ uint32
- be greedy about lights to avoid shader trashing
- decouple normal-mapping from lighting stage
- drop Cg support
- drop deprecated functions
- FFPFog - use autoconstants
- fix use of non-unit light direction when scaling is present
- Fog - follow the preAddToRenderState protocol
- GLSL - check that sampler is used before binding
- GLSL - dont flag optimized away texture samplers
- hide default shader writers and processors
- hide FFP SRS that can be used with generic API only
- hide HardwareSkinning implementations
- hide lighting renderstates
- make shader libs and entry-points private
- merge FFPLib_Texturing
- move TextureAtlas SRS to samples
- move unrelated shaders to Samples
- ProgramManager - drop superfluous cast
- PSSM3 - add support for colour shadows
- remove unused iterator leftovers
- ShaderProgram - only support one "main" function
- Shadows - use shadow2D instead of texture for HLSL compatibility
- slightly refactor Operand writing
- Texturing - only sample texture if necessary
- UniformParameter::bind - paramsPtr cannot be null
- UniformParameter - do not duplicate GpuConstantDefinition queries
- UniformParameter - uint8 is sufficient to sto...
v1.12.13
- Main
- Instances Make sure cloned vertex data is deleted.
- add API for exporting scene hierarchy + dotscene implementation
- catch empty GpuProgram sourceFile
- CompositorChain - correct clearBuffers value for "input previous"
- Compositor - fix auto clear colour and use it in "scene previous"
- DDSCodec - disable mips instead of decompressing
- DefaultDebugDrawer -Skip bounding boxes that are infinite.
- Disable vptr checks for Singleton constructor (#2032)
- Export ScriptTranslatorManager (#2031)
- FileSystemLayer - also look relative to lib for configs on Linux
- FileSystemLayer - do not change paths already pointing inside snap
- fix StaticGeometry not casting shadows
- InstanceManager - unshare LODs as well (#2000)
- make log of RSC_AUTOMIPMAP_COMPRESSED descriptive
- MaterialSerializer - do not export RTSS techniques by default
- ParticleEmitter - new take on burst mode
- PixelFormat - inline alias functions and improve docs
- Root - catch bad config options in restoreConfig
- SceneManager::createLight - add convenience param to specify Type
- ScriptTranslator - catch invalid material references in compositor
- ShadowRenderer - also consider lightmask in shadow visibilitymask
- ShadowRenderer - ensure shadow caster material is not a receiver
- Skeleton - fix addLinkedSkeletonAnimationSource
- StaticGeometry - assert that we get an indexBuffer
- StaticGeometry - use more robust prepareForShadowVolume
- TextureManager - add removeAllNamedSamplers
- TRect - add asserts to merge & intersect
- TRect - clarify that rects extend downwards.
- Viewport - disable clearBuffers if clearEveryFrame is off
- Bites: ApplicationContext - skip resource location check on emscripten
- Overlay: Font - Texture must be removed to allow reloading
- CMake: proper fix for building SampleBrowser bundle
- RTSS
- be greedy about lights to avoid shader trashing
- fix use of non-unit light direction when scaling is present
- Shadows - use shadow2D instead of texture for HLSL compatibility
- SWIG
- add %template for CameraMap
- enable director for OverlayElementFactory
- Python: dont try to use strings as sequences
- Terrain
- Delete plane when shutting down.
- fix dynamic shadows not working in LOD1
- Return early if rect doesn't match node.
- DotScene
- DotScene - fix DTD and add test
- implement export
- D3D11: HLSLProgram - avoid leaking mSerStrings
- GL*: GLSL - warn if there is a default value, that we would overwrite
- GLSupport
- Android - use finaliseWindow as well
- CPreprocessor - add basic concatenation support
- EGL - search maximal supported context version like GLX
- EGL - try harder to find a suitable default display
- fix compilation with Android NDK 20+
- GLX - select maximal supported context version
- Docs
- fix ColourInterpolator Affector formatting
- improve _createRenderWindow miscParam docs
- improve & regroup Compositor script docs
- RTSS - mention shader generation control & update init sample code
- setColourOperationEx note no longer applies to D3D9+
- StencilState - improve & unify compositor script reference
- use RenderDoc images in Deferred Tutorial
- Samples: DeferredShading - disable RTSS lights if we dont need them
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v1.12.12
highlight: node animation support in DotScene Plugin
- Main
- add SceneNode::loadChildren
- ArchiveManager - use consistent wording in messages
- CompositionPass - avoid compiling material twice
- Compositor
- allow creating cubemaps
- allow overriding camera in render_scene
- allow referencing specific cubemap slices
- DDSCodec - make DDS constants static
- deprecate unused includeOverlays parameter in _renderScene
- Exception - avoid referencing dangling strings
- FileSystemLayer
- also look in XDG_DATA_HOME for configs
- also look relative to dll for configs on Windows
- also look relative to dylib for configs on OSX
- simplify getConfigFilePath
- Frustum - fix description of getNearClipDistance (#1901)
- HardwareBufferManager - assert that this is the correct manager
- InstanceManager - fixed invalid EdgeData after unshareVertices
- Log - replace setLogDetail by setMinLogLevel
- make resource lookup robust to reloaction on Linux
- move shared FOURCC macro to internal header
- ResourceGroupListener - drop unused worldGeometryPrepare* methods
- Root - use actual stack instead of mSceneManagerStack
- SceneManager - improve error messages at compositor resolution
- SceneManager - preserve the previous material scheme
- ScriptCompiler - allow abstract compositor target sections
- ScriptCompiler - simplify toggling AST debug output
- slightly simplify SceneManager::_renderScene
- TangentSpaceCalc - prevent leaking buffer lock
- UnifiedProgram - forward compile errors & handle res not found
- build fix on NetBSD: remove #ifdef FreeBSD (#1911)
- Bites
- add OGRE_BITES_STATIC_PLUGINS CMake option to skip plugins.cfg
- Android - fix crash on surface recreation
- Android - properly parse RenderSystem ConfigOptions
- print which resources.cfg is being parsed
- warn about non-existant locations in resources.cfg
- RTSS
- fix AlphaTest shaders for GLES2
- GLSL - explicitly bind output buffer location if possible
- handle BuildDstTechnique flag inside SGTechnique
- log program names when caching to disk to aid debugging
- ProgramWriter - the only program we ever write is main
- PSSM - avoid scalar swizzling for compatibility
- simplify handling of HLSL targets
- Texturing - also override texture type for cubic reflection
- Overlay:
- add setVisible to OgreOverlay and OgreOverlayElement
- Element - inline trivial accessors
- improve BorderPanelOverlayElement documentation
- Revert "[OGRE-155] TextAreaOverlayElement: fix for mSpaceWidth field getting stuck with wrong value in certain cases."
- Terrain
- add SWIG bindings for CSharp
- TerrainGroup - deprecate getTerrainIterator
- SWIG
- Csharp: forward operator overloads on Vector for convenience
- Python
- weakly link libpython to allow relocation
- add build system for python wheels
- CMake
- also install dependencies on OSX
- Dependencies - update SDL2 to 2.0.14
- fix Framework linking with recent CMake & Xcode
- fix PrecompiledHeader.cmake for old CMake versions (#1942)
- make InstallDependencies available on all platforms
- make OGRE_BIN_DIRECTORY configurable
- respect user CMAKE_INSTALL_RPATH
- use relative paths in resources.cfg on OSX
- Revert "allow/ fix static build of python component"
- Plugins: export Plugin classes for direct linkage
- DotSceneLoader
- ParticleFX: TextureAnimator - fix speed calculation
- D3D9
- fix auto HardwareBuffer management
- fix wrong cast in createBuffer
- HardwareBuffer - fix comparison that turned into assignment
- reduce dependance on d3d9x
- GL
- disable unused GLU include
- HardwareBuffer - fix readData and destruction
- GLSupport
- EGL - catch client extension failure on android
- EGL - Emscripten does not support PBuffers
- EGL - export "Content Scaling Factor" on Android
- fix wrong VERSION value on OSX/GL3+
- OSX - only contentScaling 1 and 2 is supported
- Tools: MeshUpgrader
- Docs:
- correct documentation of OgreOverlayElement
- 1.12 Notes - add noteworthy post 1.12.0 additions
- Add section about empty Material Names (#1944)
- BuildingOgre - fix target names for OSX which is case-sensitive
- document "Content Scaling Factor" RenderSystem Option
- fix typo in InstanceManager (#1906)
- format corrections in "iteration" section (#1897)
- improve PixelBuffer and Texture parts
- Light - correct some erroneous wording and apply consistency. (#1909)
- RenderQueueListener fix formatting
- small typo in the description of setStencilBufferParams (#1904)
- improve override documentation
- Samples
- add Java sample
- Android - fix TextureOES sample
- Compositor - update blacklist
- CSM - correct capabilities check
- CubeMap - port to new compositor functionality
- Deferred - drop unused "profiles" parameter
- enable LightShafts for GLES2
- factor out requireMaterial/ use it to check compatibility
- Fresnel - port to compositors
- PBR - allow shader upgrading on GL3+/OSX
- Python - simplify bootstrap sample
Development is funded by your contributions
If your company uses Ogre, consider supporting its development in return:
v1.12.11
highlights: new Software RenderSystem and headless mode on Linux
- Main
- DefaultHardwareVertexBuffer - correctly set used BufferMgr
- fix getCastsShadows when inherting from MovableObject + Renderable
- fix inconsistently named PF_RG8
- fix warning in RenderQueueGroup::merge
- ShadowRenderer - fix culling not propagated to RTSS passes
- Image - fix getData() const overload
- add Ogre::to_string(..) alias for unified access to such functions
- add simplified Material::clone overload
- AutoConstantEntry - clean up storage type
- Camera - allow to sort by depth and not by distance
- Compositor - allow referencing global textures again
- DDSCodec - implement writing PF_FLOAT16_R
- GpuProgramParams - only set variability if requestedSize > 0
- GpuProgramParams - simplify two-param AutoConst overloads
- GpuProgramParams - use templated _writeRawConstant & update docs
- GpuProgramParams - use templates instead of copy & paste
- HardwareBuffer - allow acting as facade for real implementation
- HardwarePixelBuffer - consider depth in size computatiuon
- minor code cleanup around _getProgramByName
- Node - inline some trivial setter overloads
- Particle - implement sprite sheet texture animation
- ParticleSystem - fix autoupdate of AABB
- ParticleSystem - fix setMaterialName lookup
- ParticleSystem - forward shadow casting flag to renderer
- ParticleSystem - logError instead of assert on null material
- RenderSystem - add "VSync Interval" as common option
- RenderSystem - do not require validateConfigOptions
- RenderSystem - provide default *TexelOffset implementations
- RenderSystem - unified derived depth bias update
- use RenderWindow::resize to react to size change instead of querying
- replace "depth" by "distance" to match the computations
- ScriptTranslator - avoid multiple lookups for translateProgramRef
- ScriptTranslator - flag unexpected parameter
- ShadowCameraFocused - receiverBB should be intersected with
- unify fsaaHint documentation
- unify null material logging
- unify PixelBuffer locking between rendersystems
- Animation - deprecate IteratorWrapper based access
- deprecate RenderTarget::Impl
- RenderQueueGroup - deprecate getIterator
- GpuProgramParams - deprecate setConstantFromTime
- fix spelling errors reported by lintian
- CMake
- allow/ fix static build of python component
- clean-up feature summary
- GL* - prevent exporting OgreGLSupport for linking
- use OGRE_LIB_DIRECTORY when determining OGRE_PLUGIN_PATH for OGREConfig.cmake
- use PATH_VARS in configure_package_config_file
- Bites - only add D3D include_directories when needed
- RTSS
- assert that we have a sceneManager in synchronizeWithLightSettings
- provide overloads taking material directly instead of by name
- PSSM3 - cast shadows on "lighting_enabled false" surfaces
- ShaderGenerator - do not index SceneManagers by name
- Overlay
- OverlayContainer - drop wrong cast
- OverlayElement - warn if we are about to change the material
- TextArea - ensure glyphinfo is loaded/ avoid superfluos lookups
- Bites
- ApplicationContextBase - catch if no RenderSystems are available
- Input - add Gamepad support
- make GLXConfigDialog optional, relaxing the Xaw dependency
- StaticPluginLoader - add Assimp and TinyRenderSystem
- SWIG
- add Vector.setitem and missing NodeObjectMap
- wrap ParticleSystemRenderer
- Python - enable implicit conversion from float to Radian
- Volume: TextureSource - skip GPU round-trip and allow different formats
- Assimp: respect resource group when creating material
- STBICodec: encodeToFile - improve error message
- UnifiedShader: add texture2DLod
- Tiny: implement Software Renderer
- D3D*
- drop superfluous MinGWSupport headers
- fix braindead CSAA naming and mode selection
- GL*
- clean up display frequency configOption handling
- immediately parse vendor instead of caching string
- D3D11: turn D3D11_CREATE_DEVICE_DEBUG into runtime option
- GL3Plus: turn GL_DEBUG_OUTPUT into runtime option and improve msg format
- D3D9
- port to delegate buffer API
- RenderSystem - remove fields duplicated from RenderWindow
- use staging buffer instead of downgrading all manual textures
- GL
- gl.h and glext.h are unused (#1841)
- port to delegate buffer API
- GLSupport
- correctly request 3.0+ core context
- EGL - also query client extensions
- EGL - provide PBuffer based Window for transparent fallback
- EGL - Window do not require methods only used on X11
- resurrect EGLRenderTexture
- X11EGLWindow - fix shadowing warnings
- GLX - recover from more XRandR failure cases
- Docs
- add missing copyright statements
- add grouping to BillboardSet documentation
- Bites - fix doxygen grouping
- CodingStandards - add SPDX-License-Identifier
- describe the camera coordinate system
- drop references to AGP memory
- improve Scripts part
- improve WinRT build instructions
- Manual - improve SceneManager overview
- manual - unify GPU Program docs below Scripts
- slightly overhaul basictutorials
- Tutorial3 - reference texture splatting wikipedia article
- unify ParticleFX and particle script docs
- update and reference RenderSystem::setConfigOption
- update RTSS docs
- Samples
- Emscripten - fix build
- fix reference to a non existing object in filament.material
- Python - fix crash at shutdown
- VolumeTerrain - store data as half-float to reduce SDK size
- PlayPenTests
- fix missing BSP scene manager RTSS registration
- fix Overlay material warning
- port some tests to UnifiedShader
v1.12.10
highlight: native GLES2 support on Windows via WGL
- Main
- add & improve error messages on missing materials
- add OGRE_MIN_VERSION convenience macro
- Any - deprecate operator<<
- deprecate dummy operator<< that only exist due to Ogre::Any deficiency
- move handling of missing RSC_POINT_SPRITES support to RTSS
- BillboardSet - fix removeBillboard
- BillboardSet - refactor vertex generation
- BillboardSet - simplify ActiveBillboards handling
- ParticleEmitter - ensure uniform distribution of emitter direction
- ColourValue - add conversion for native-endian byte formats
- ColourValue - inline comparison operators
- DefaultDebugDrawer - fix Frustum drawing
- DefaultSphereSceneQuery - use scaled & cached WorldBoundingSphere
- drop wrong PFF_HASALPHA for PF_DXT1
- Entity - make SchemeHardwareAnimMap a vector
- HighLevelGpuProgram - set lineFilename support explicitly
- make Image class more versatile
- Image - add casting getData
- Image - add create for 2-phase allocation
- Image - only re-allocate buffer if needed
- Image - simplify combineTwoImagesAsRGBA
- Image - simplify encoding paths
- Image - simplify resize & scale using create
- Image::FILTER_LINEAR/ BILINEAR is identical
- inline several hot methods
- MovableObject - factor out getBoundingRadiusScaled
- MovableObject - make getVisibilityFlags getQueryFlags virtual
- MovablePlane - use static BOX_NULL
- ParticleSystem - tell renderer about bounding box
- BillboardParticleRenderer - export setTextureStacksAndSlices
- Pass - inhibit _dirtyHash if being deleted
- Pass - inhibit recompile if being deleted
- PixelUtil - bulkPixelConversion use production assert
- PSSM Camera Setup - skip custom culling frustum (#1781)
- RadixSort - add iterator based overload
- RenderSystem - backport RSC_DEPTH_CLAMP from next
- RenderSystem - document setConfigOption
- RenderSystem - provide default thread registration functions
- SceneLoaderManager - forward groupName to Codec implementations
- SceneManager - do not cull texture shadow casting lights
- SceneManager - fix crash in manualRender(Renderable*)
- ShadowRenderer - assert that a custom caster material has passes
- ShadowRenderer - simplify visibility test
- simplify several AABB computations
- StringConverter::parse - keep value unchanged on error
- unify baseVertexPointerToElement into templated implementation
- VertexBufferBinding - inline hasInstanceData
- VES - alias DIFFUSE/ SPECULAR to COLOUR1/2
- enable AutoParams for RenderToVertexBuffer shaders
- fix build with OGRE_CONFIG_DOUBLE
- Math - float is always sufficient for trigonometric functions
- Quaternion - always use float storage
- deprecate obsolete compute_group_dimensions
- drop usage of deprecated RenderSystemCapabilities
- deprecate getDisplayMonitorCount
- deprecate RSC_INFINITE_FAR_PLANE
- deprecate RSC_VERTEX_FORMAT_UBYTE4
- drop remains of Symbian OS detection
- CMake
- Dependencies - always use static build, if we build our own deps
- DirectX11 - fix discovery when using MINGW and having W10SDK
- RTSS
- correctly handle SPS_BLEND_INDICES & drop workaround
- implement FFPRenderStateBuilder as TargetRenderState::link
- move resolveColourStageFlags fixup method to TargetRenderState
- Program - add convenience resolveParameter overload
- RenderState - add stringvector link overload
- RenderState - drop template in generic funcs
- ShaderFunction - refactor resolve*Parameter
- SubRenderState - add generic setParameter
- swap resolveLocalParameter arguments for consistency
- transfer TargetRenderState ownership to Pass
- Bites
- OSXConfigDialog - use new ogre logo and a tighter layout
- Trays - fix broken mouse-wheel handling & update SampleBrowser
- UnifiedShader: inital metal support
- ParticleFX: simplify colour related computations
- Overlay
- update imgui to 1.79
- ImGuiOverlay - avoid recreating buffers at every draw call
- ImGuiOverlay - fix off-by-one in strncpy
- Font - implement simple writing to BillboardSet
- Font - fix tight glyph packing. Obsoleting character_spacer cfg
- suppress warnings in imgui
- SWIG
- Add cast from OverlayElement to PanelOverlayElement and TextAreaOverlayElement (#1741)
- Added cast from OverlayElement to OverlayContainer
- AssimpCodec
- fixes for getScale function
- add support for point- and line-list meshes
- DotSceneLoader: attach loaded TerrainGroup to rootNode as UserAny
- D3D11
- drop unused mSceneAlpha* members
- fix HBL_DISCARDed HBU_GPU_ONLY buffers not being updated
- fix reinterpretGSForStreamOut
- fully disable rasterization with streamout
- HardwarePixelBuffer - correct HBU check
- log selected device feature level
- fix RenderTargetView for Texture3D
- D3D*: use common Ogre implementation for #include handling
- GL3+: drop unused scratch buffer implementation
- GL
- GLSLLinkProgram::activate - drop pre-use glGetError
- TextureBuffer::blit - disable HW FBO blit again to fix PG Impostors
- GLSupport
- GLX - simplify context creation and re-enable fallback
- Win32 - use CreateContextAttribs
- Metal:
- add alpha to coverage support
- enable runtime #include support through Ogre
- Hardware*Buffer - also update shadow buffer in copyData
- implement _setPolygonMode
- Terrain
- factor out TerrainTransforms.glsl
- improve getPointTransform API
- LayerBlendMap - use Image for storage
- move uv multiplication from vertex into fragment shader
- replace more raw malloc calls by Ogre::Image
- use Image for CPU staging buffers
- use RTSS shaders for depth shadows
- use RTSS shaders for Fog & Lighting
- QuadTreeNode - deprecate getAABB
- QuadTreeNode - use private inheritance instead of aggregation
- Docs
- improve building instructions
- improve PixelFormat documentation
- make sure Assimp and FreeImage show up in Plugins
- Manual - clean up Particle System Attributes
- Manual - improve introduction
- Terrain - add method grouping
- Samples
- CSM - add back required Cg caster program
- Instancing - fix VTF techniques after TerrainHelpers refactor
- ParticleGS - finish D3D11 implementation
- ParticleGS - refactor display shaders to use VS radius
- ParticleGS - simplify Generate material
- ParticleGS - fix HLSL shader
- Python - slight cleanup
- RTSS - drop superfluous checks after resolve*Parameter
- update terrain sample and tutorial
- Water - render "circles" using BillboardSet
- Tests
- add Image.Resize test
- avoid loading plugins
- add BillboardText test