Note: imgui is not included - workaround
- Main
- Box - introduce getSize & getOrigin convenience functions
- deprecate Codec::dataType()
- deprecate HardwareUniformBuffer methods
- deprecate multiple map iterator wrapper accessors
- deprecate Renderable::RenderSystemData
- deprecate shadow_caster_*_program_ref for shadow_caster_material
- deprecate texture_alias in favor of script variables
- deprecate RSC_VERTEX_PROGRAM & RSC_FRAGMENT_PROGRAM
- make RSC_ATOMIC_COUNTERS an alias for RSC_READ_WRITE_BUFFERS
- StringConverter - deprecate converting ColourBufferType
- Entity - replace @copydoc comments by explicit override annotation
- Frustum - introduce Corners typedef for Vector3[8]
- GpuProgram - correctly do parameter creation in postLoadImpl
- GpuProgramParameters - parse index instead of using dummy entries
- GpuProgramParams - avoid dirty flag on download & unify error msgs
- GpuProgram - skip loadImpl and postLoadImpl on compile error
- HardwarePixelBuffer::blit - rewrite with blitToMemory
- HighLevelGpuProgram - fix line numbers when handling #include
- HW BufferManager - provide default impl for non essential buffers
- InstanceBatchShader - make performance warning actually a warning
- merge HW Uniform and Counter Buffers
- refactor RenderSystemCapabilities logging
- ScriptTranslator - flag invalid properties inside shared_params
- ScriptTranslator - universally use Error::getDescription
- ShadowCaster - deprecate getShadowVolumeRenderableIterator
- ShadowRenderer - make sure render system specific sampler is used
- StaticGeometry - deprecate Iterator based API
- Texture - assert that we are not loading an empty image
- Fixed possible crash in the addImpl() method of the ResourceManager class
- compatibility with musl libc
- CMake
- request legacy GL discovery mode
- samples should be only installed when they are also built
- deprecate the HLMS component
- Android - only derive activity label if EXTRA_ACTIVITIES exist
- use standard (cmake 3.16+) PCH paths if possible
- Bindings:
- Added overloaded addition, subtraction, multiplication and division.
- Added template for ConfigOptionMap
- Changed Swig SharedPtr to Ogre SharedPtr.
- CSharp: compile C# dll instead of installing source files
- Fixed memory management for SceneManager::createRayQuery, added RayTestResult as a SWIG type.
- Void Pointer and casting of MovableObject (#1413)
- SWIG: allow building Overlay bindings without imgui
- Java: suppress new warnings in build
- RTSS
- allow InTexcoord parameters of arbitrary type
- correctly reset default shadow receiver material
- DualQuaternionSkinning - fix interplay with projective texturing
- fix bug with single pass parallax mapping & adapt sample
- fix vertex output compacting
- GBuffer - change TL_DEPTH_NORMAL to TL_NORMAL_VIEWDEPTH
- GL - implement SPC_POSITION_PROJECTIVE_SPACE FS input
- GLSL - legacy GLSL should be only use when targeting <= GLSL120
- GLSL - use #include instead of shader attachment
- GLSL Writer - get rid of wrong and unneeded cast
- implement GBuffer output SubRenderState
- implement hardware instancing support
- implement parallax mapping and use it in respective sample
- NormalMapLighting - do not transform normal if there are no lights
- Program - create entry point in constructor
- PSSM3 - fix scalar on GLSL swizzling which requires GLSL420
- ScriptTranslator - log error when encountering unknown parameter
- TextureAtlas - drop #extension as it does not work with #include
- Terrain: fix wrong light direction of composite map
- GLSupport
- drop unused GLSLProgramCommon::isSkeletalAnimationIncluded
- GLSLProgramManagerCommon - drop needless GL type indirection
- GLSLProgramManagerCommon - drop unused shared param parsing
- GL*
- further unify GLSLProgramManagerCommon
- further unify GLSLShaderCommon
- allow matrix types in texcoord semantic
- GLSLProgram - store member shaders as array in GLSLProgramCommon
- GLSLShaderCommon - drop the loadFromSource -> compile indirection
- D3D11/ D3D9/ Cg: set entry point to "main" by default
- D3D11
- prevent DefaultHardwareVertex/Index/UniformBuffer creation
- VertexDeclaration - be specific which semantic index is missing
- GL3Plus/ GLES2
- fix loading monolithic programs from microcode cache
- attach uniform blocks to shared params for CPU <> GPU sync
- factor out new linkSeparable() API for SSO
- GL3Plus
- clean up blitFromTexture
- clean up GLSLProgramManager::extractUniformsFromProgram
- fix linking of spirv SSOs
- fix RenderToVertexBuffer with monolithic shaders
- HardwareBuffer::lock - use more appropriate error message
- merge UBO and SSBO classes
- SSO - expose uniform locations through param_indexed
- TextureBuffer::download - fix crash when dest type differs
- unify microcode read/ write like in GLES2
- GL/GL3+:
- deprecate the "attach" mechanism in favor of #include
- enable hardware texture blit, verified working
- GLES2: implement limited hardware texture blit w/o scaling
- D3D9: do not spam unsupported HLSL targets & correct VTF format check
- BSPSceneManager
- fire RenderSingleObject, so RTSS passes are updated
- make BspLevel Renderable to use standard rendering path
- Tools: MeshUpgrader - allow two SubMeshes reference the same Material
- Docs
- Compositor - document quad_normals pass attribute
- fixed several doxygen errors
- Manual - improve formatting of "Parameter specification"
- Material - document the interplay of TUS and Sampler
- Resource Management - include data retrieval in diagram
- Tutorials - update deferred shading resource links
- update regarding shadow_caster_material
- Samples
- Compositor - HDR merge GLSL and GLSLES shaders
- Deferred Shading - merge GLSL and GLSLES shaders
- Deferred Shading - use HLSL instead of Cg for D3D11 compat
- Deferred - SSAO use standard instead of custom data sources
- drop white.bmp that was only used as a placeholder
- fixup for wrong matrix construction in last commit
- GLSL - fix several errors discovered by strict SSO checking
- Instancing - fix shadow casting and matrix types with GLSL
- Instancing - user better lighting setup
- Instancing - use RNG from std and make output consistent
- Instancing - use RTSS for accurate shader based technique
- ParticleGS - use point sprites with GLSL
- port DeferredShading to RTSS
- Shadows - convert to the "standard" PSSM/shadow_caster material
- Shadows - simplify setup by properly using integrated shadows
- SkeletalAnimation - set hardware skinning parameters via script
- SSAO - fix RTSS material initialisation
- SSAO - port to gbuffer RTSS stage
- BSP - replace chiopteraDM by OpenArena oa_rpg3dm2
- BSP - drop quakemap.cfg indirection for Android compatibility
- AtomicCounters - finish the sample and drop obsolete code
- Tests
- convert ImageCombine PlayPen to Unit test
- fix additive offset mapping test
- test resource loading listener discarding only element in group
- VTests: PlayPen_BlitSubTextures - use hardware blit path