Releases: OGRECave/ogre
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
v1.12.9
highlight: merge ogre-assimp as Codec_Assimp
and OgreAssimpConverter
Tool
- Main
- Any - enable implicit conversion constructor following std::any
- Billboard - inline trivial getters & setters
- BillboardParticleRenderer - inline facade methods
- BillboardSet - avoid segfault if MaterialPtr is NULL
- BillboardSet - inline and devirtualise trivial getters/ setters
- BillboardSet - simplify per Billboard property handling
- cleaned definition to fix build for macOS on ARM64
- clean-up/ refactor HBU flags
- Codec - refactor API to make it generally usable
- Camera - use inherited mManager property instead of duplicating
- deprecate ParticleVisualData
- deprecate Root::convertColourValue
- deprecate SceneLoaderManager API in favor of new Codec API
- HighLevelGpuProgramManager::isLanguageSupported - add const
- ManualObject - allow using transparent pass with detached MO
- Mesh - introduce MeshCodec indirection to allow different formats
- MovableObjectFactory - provide default destroyInstance impl
- ParticleEmitter - use inherited Particle pos
- ParticleSystem::clear - do not leak emitters into free list
- ParticleSystem - set owner on creation instead of status change
- ScriptTranslator - allow multi-language programs
- Serializer - const correctness
- ShadowRenderer - fix FT_MIP setting being overwritten
- StringUtil.normalizeFilePath - properly handle absolute unix paths
- Swig - extend PixelBox by method returning data as void pointer (#1674)
- UnifiedShader - add texture1D alias for HLSL
- use new HBU flags for code appearing in docs
- Make resource paths relative to resources.cfg-location
- use mesh provided HardwareBufferManager to create hardware buffers
- unify debug drawing in the DefaultDebugDrawer class
- Bites
- use new logo in GLX config dialog
- use new logo in Win32 config dialog
- Add OGRE_CONFIG_DIR envvar
- RTSS: AlphaTest - pass is a reserved keyword in HLSL
- Overlay
- Font - improve freetype related error messages
- update imgui to 1.77
- SWIG
- enable imgui with C# and Java as well
- export LogListener
- Overlay - add workaround for setting DisplayString parameters
- Terrain
- simplify - blendmap format is always PF_BYTE_RGBA
- use OgreUnifiedShader for shader generation
- GL*: properly translate HBU setting
- D3D11
- HardwarePixelBuffer - properly use staging buffers
- properly use HBU setting instead of abusing systemMemory flag
- re-use shadow buffer for temporary staging
- D3D9
- auto-disable FFP fog, when fragment shader is present
- drop D3DPOOL_MANAGED for buffers & discard HBU_DETAIL_DISCARDABLE
- properly respect HBU_CPU_ONLY setting
- Emscripten
- avoid needless switchFullScreen call
- load RenderSystem settings from ogre.cfg
- Fixes issue preventing use of latest emscripten versions (#1698)
- Docs
- make sure per-component docs are correctly picked up by doxygen
- manual - bring hardware buffer section up to date
- merge cpp and manual docs of VertexData
- RTSS - add note about automatic shader re-generation
- Samples
- ImGui - fix "NewFrameSanityChecks(): Assertion" again
- merge GLSL150 and GLSLES shaders that all were GLSL100
- PBS - use OgreUnifiedShader to make it HLSL compatible
- redeclare Cg shaders as HLSL
- SdkSample - use unique_ptr to manage mControls
- Tests: allow RTSS to pass TextureShadowsTransparentCaster VTest
- Tools: XMLConverter - createOrRetrieve Material
v1.12.8
- Main
- update ShadowTextureConfig with actually chosen texture format
- add RSC_TEXTURE_2D_ARRAY and fix array texture detection/ handling
- add OgreUnifiedShader.h and unify ShadowVolume shaders
- HighLevelGpuProgram - correctly resolve #include in #include
- pass native shader version to shaders as e.g. OGRE_HLSL=4
- ShadowRenderer - improve default caster material for PF_DEPTH use
- ShadowRenderer - handle dynamically changing RTSS caster materials
- ASTCCodec - fix typo in validating blockDims
- deprecate shadow_receiver_*_program_ref
- document the current lighting and material model
- fix RENDER_QUEUE_MAX being treated as RENDER_QUEUE_COUNT
- HardwareBuffer - guard lock usage with runtime asserts
- MaterialSerializer - escape special chars in material attributes
- Material - turn isManual notice into warning
- Pass - hard deprecate setShadow*Program
- unify and deprecate RenderSystem::_createRenderWindows
- unify RenderSystem::_createRenderWindow checks & log output
- RTSS
- include OgreUnifiedShader.h unconditionally
- always write GLSL types - will be handled by UnifiedShader defines
- HLSL - support Shadow & Array samplers
- PSSM - slightly refactor shader invocation
- PSSM - use 4 taps for HW PCF too, configurable split count
- TextureAtlas - GLSLES compatibility
- unify ShaderLib as GLSL and improve OgreUnifiedShader.h
- use #include based dependency resolution for GLSLES as well
- Bites: respect selected monitor, when creating SDL window
- Overlay: use cmake to download imgui instead of git submodule
- SWIG: add read access to elements of Matrix4 (#1608)
- DotSceneLoader: appease unique_ptr destructor when building w/o Terrain
- Tools: simplify argument parsing & use logError for error reporting
- Python
- allow using buffer types instead of raw pointers
- allow using sequences instead of Vector and ColourValaue
- D3D11 & D3D9
- use sane fallback if no "target" is set
- use sane fallback format for PF_DEPTH*
- D3D11
- fix HRESULT formatting in exception description
- fix wrong d3dcompiler version, when compiled with MinGW 9.3
- introduce OGRE_CHECK_DX_ERROR macro to reduce boilerplate code
- PF_DEPTH texture support
- reversed-depth fixes
- Docs
- add citation for Terrain LOD algorithm
- disable inlining inherited members
- fix Pass references in ACT_SURFACE_ALPHA_REJECTION_VALUE docstring
- fix warnings uncovered by doxygen v1.8.17
- hide friend compounds
- hide ogre internal defines from function signatures
- Manual - MeshUpgrades does LOD, not XMLConverter
- move ComPtr to D3D11 module
- specify unit of "rotate" in material scripts
- use named member groups to improve readability
- Emscripten
- implement graceful degradation from WebGL2 to WebGL1
- CMake: precompiled headers do not work on emscripten
- GL*: use sane fallback format for PF_DEPTH*
- GLES2
- enable PF_DEPTH16 with WebGL2
- ignore GL_OES_vertex_array_object on emscripten
- GLSupport
- make
__VERSION__
available in preprocessor
- CPreprocessor: forbid numerical defines
- make
- Samples
- Browser - do not add Trays UI to Unit Tests
- clean up Bumpmapping sample
- Csharp - add Windows.Forms integration sample
- Emscripten - add PSSM/shadow_caster material
- LightShafts - port from Cg to OgreUnifiedShader
- request PF_DEPTH for shadow mapping, where possible
- ShaderSystem - fix LayeredBlending controls
- Tests: clean up TextureShadowsTransparentCaster VTest