Releases: OGRECave/ogre
Releases · OGRECave/ogre
v1.12.7
- Main
- PixelCountLodStrategy - fix wrong estimation of boundingArea
- respect element count for ACT_FOG_COLOUR
- ScriptTranslator - revert to legacy "alpha" keyword translation
- allow constructing Box from TRect
- provide some builtin defines for shaders
- BillboardSet - clean up setTextureCoords API
- Compositor - avoid needless Texture lookups by name
- convert SkyRenderer to SceneManager::Listener
- split SkyRenderer into Plane, Box and Dome classes
- correctly return getDefaultParameters by const reference
- InstanceBatchVTF - assert the correct texture format
- Light - clarify shadowFarDistance vs. shadowFarClipDistance
- ManualObject - inline hot methods to speed up dynamic creation
- ManualObject - slightly clean up API
- Pose - add mutable vertex access for offline tools
- Root::loadPlugins - log Exception as error
- ShadowCaster - de-virtualise hasEdgeList
- slightly clean-up MeshLod code
- ImageCodec - fix missing include
- Only include <sys/sysctl.h> for iOS
- VertexElementType - deprecate VET_COLOUR*
- RenderSystem - deprecate getColourVertexElementType
- add deprecation message to OgreIteratorWrappers.h
- Camera - add missing deprecation markers
- deprecate remaining texture_alias functions
- SceneNode - deprecate some bounding box related functions
- Light - _deriveShadowFarClipDistance deprecate Camera* param
- add OGRE_IGNORE_DEPRECATED macros to allow using deprecated API
- add Renderable::DEFAULT_PRIORITY for use instead of the define
- CMake
- clean-up swig lookup & add quiet flag for optional dependencies
- Fix OSX platform libs
- Use the right variable to determine if Qt was found
- RTSS
- Fog - drop redundant computations and simplify code
- PSSM3 shadows - correctly handle sampling behind far plane
- PSSM3 shadows - add debug mode, visualizing the shadow splits
- Overlay
- ImGui - drop D3D9 colour conversion, by using correct VET
- ImGuiOverlay - update API to avoid NewFrame/ EndFrame mismatch
- make OverlaySystem a Singleton
- OverlayContainer - deprecate getChildIterator
- Terrain
- avoid needless Texture lookups by name
- CompositeMap - fix ortho window size
- enable vertex compression with GLSL
- fix specular lighting computation with GLSL
- GLSL - fix construction of the TBN matrix
- ShaderHelper - fix and simplify lighting calculation
- simplify Composite-Map Scene
- use Rect::intersect where applicable
- Tools
- XMLConverter & MeshUpgrader add -byte option to use ubyte4_norm
- XMLConverter - use VET_COLOUR resolution in OgreMain
- XMLSerializer - respect colour channel order at exporting to XML
- SWIG
- drop deprecated IteratorWrapper instances
- flatnested is only needed with python
- wrap PixelCountLodStrategy
- RenderSystem:
- use default destroyVertexDeclarationImpl everywhere
- D3D11
- clear shader reflection data to fix reloading
- D3D11HLSLProgram - remove unused and broken setShaderMacros
- port to Sampler object. Enables caching of ID3D11SamplerState
- Metal: backport to Ogre 1.12 from ogre-next v2-1
- Docs
- Frustum - remove reference to non-existing method
- improve doxygen module association of Main
- port meshlod tutorial from wiki
- Tutorial3 - mention the composite map explicitly
- PCZSceneManager - convert documentation to proper Doxygen
- Samples
- Browser - only refresh carousel geometry when needed
- PBR - Added example how to use filament shaders
- ImGui - avoid unmatched NewFrame if Window becomes inactive
- ImGui - drop mControls from input chain. It is not created yet
- MeshLOD - the displayed value is the pixel count, not distance
- port CSM Shadows Sample
- resurrect PCZTestApp and convert it to SdkSample
- Shadows - fix crash due to accessing NULL mCameraMan
- Terrain - drop D3D11 workaround for vertex compression
- Triplanar Texturing - fix reference to deleted textures
Note: imgui is not included - workaround
v1.12.6
- Main
- allow overriding PluginFolder with OGRE_PLUGIN_DIR env variable
- make ResourceHandle size_t to avoid using 64bit atomics on 32bit
- deinline non performance-critical methods to improve compile speed
- EmbeddedZipArchiveFactory - prevent leaking Archives
- GpuSharedParameters - Fixed param offset calculation
- Fix build on FreeBSD.
- add riscv64 as 64bit architecture
- Skeleton - do import in prepare() to allow background loading
- Texture - allow different PixelFormat for different cubemap faces
- Texture - allow generally reinterpreting luminance as alpha
- provide default implementations for ResourceLoadingListener
- RenderSystem - fix FunctionInvocation leak
- RenderSystem - require implementation of setColourBlendState
- RenderSystem - use Ogre::Rect to represent scissor & viewport rect
- ScriptTranslator - flag invalid pixelformats
- ShadowRenderer - forward visibility flags (#1511)
- Android: APKFileSystemArchive - properly set stream name to filename
- Fixes compilation error C2338 when building with double precision (#1505)
- improve wording of old mesh format warning
- MeshManager - silence warnings in MeshBuildParams initialization
- RenderSystem - hard-deprecate non-atomic _setDepthBufferParams
- Texture - deprecate treatLuminanceAsAlpha
- deprecate ParticleIterator
- deprecate Skeleton::LinkedSkeletonAnimSourceIterator
- ResourceGroupManager - deprecate getResourceManagerIterator
- factor out Math::lookRotation
- factor out StencilState struct & use it to simplify code
- move findShadowCastersForLight to ShadowRenderer
- move RenderSystemCapabilies logging to Root
- Node & SceneNode - define private & use protected API
- Resource - define private & use protected API
- SceneManager - factor out resolveShadowTexture
- refactor Codec API
- unify RenderSystem::reinitialise
- Zip - replace deprecated std::bind2nd with a lambda
- RTSS
- log source material name if shader compilation fails
- PSSM - fix ambient passes receiving shadows
- Transform - disable instancing on GLES2 devices
- Bites
- add Qt implementation of ApplicationContext
- fix discarded mouse motion events on OSX
- OSXConfigDialog - use dynamic config options list
- OSX - scale input according to content scaling factor
- CMake
- Fix definition of OGRE_PLUGIN_DIR in OGREConfig.cmake on Windows
- Dependencies - switch to stable zzip release
- Replace FindSDL2.cmake by sdl2-config.cmake (#1530)
- drop extra win libs with SDL2 linking
- drop remains of OGRE_SDK_BUILD
- iOS - fix warnings, resources, instructions
- OSX - clean up framework linking
- OSX - fix linking against the Ogre Frameworks
- silence SWIG warnings with recent cmake
- slightly clean up build option handling
- Docs:
- clarify Image::getSize and HardwarePixelBuffer::lock
- doxygen - fixed remaining issues or added workarounds
- move config file description to setup tutorial
- update links on mainpage and use local licensebutton copy
- Add vcpkg installation instructions
- FileSystemLayer - fix locations in documentation
- DotSceneLoader - fix compilation w/o Terrain, fix crash on parse error
- SWIG
- enable ResourceLoadingListener
- Overlay - make createOverlayElement actually useful
- extend Matrix3, Matrix4 and Affine3 by non member operator overloads
- Terrain
- ShaderHelper - simplify generateVertexProgramSource
- TerrainMaterialGenerator - deprecate getDescription
- D3D*: use common _beginFrame
- GL*
- HardwarePixelBuffer - drop unused mFace member
- simplify scissor test handling
- GL3Plus:
- improve OSX shader hot-patching
- fix "WARNING: Could not find vertex shader attribute ..."
- GL
- add ConfigOption to disable FFP
- GLES2
- iOS - suppress attribute warnings
- GLSupport
- EGL - fix currentGLContext support
- OSX - correctly set Window visible to receive updates
- added macro recursion feature to GLSLPreprocessor
- Samples
- simplify directory structure and build
- simplify Sample info handling
- unify SdkSample and VisualTest API in Sample
- Browser - add OGREDEPS to RPATH on OSX
- Browser - disentangle main and android_main
- Browser - fix superficial link on OSX
- Browser - move iOS specific parts to SampleBrowser_iOS
- BSP - fix accessing CameraMan before it is created
- correctly mark GLSL300ES shaders as such
- drop unused Cocoa NIB files
- LightShafts - multiply out alpha, as we use additive blending
- LightShafts - use standard depth texture & spotlight params
- OSX - correctly set rpath for browser
- Terrain - replace proprietary nvidia textures by cc0textures
- XMLConverter
- correctly warn about dropped flags
- fix unitialised colourElementType
- handle meshes with bad material references
- CI: enable Qt in SDK build and switch to relwithdebinfo
Note: imgui is not included - workaround
v1.12.5
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
v1.12.4
Note: imgui is not included - workaround
- Main
- Compile Remotery.c as cpp-file
- Fixed wrong material name in ManualObjectSection
- InstanceBatch: Initialize frame number in constructor.
- Revert "OgreResourceBackgroundQueue: disable when OGRE_THREAD_SUPPORT == 3"
- remaining fixes for OGRE_CONFIG_DOUBLE
- add converting constructors to Matrix4 and Affine3 + Test
- AutoParamDataSource - use Vector4f, when float precision is enough
- Camera - add #ifdef NODELESS_POSITIONING
- Camera - simplify with nodeless positioning enabled
- deprecate AtomicScalar
- deprecate OgreVector2.h, OgreVector3.h and OgreVector4.h
- fixed inability to properly parse 'import "longQuotedFilename"'
- further reorder fields to reduce padding
- GpuProgram - add safePrepare to account for throwing overloads
- GpuProgram - move reading from file to prepare
- GpuProgramParams - use typed overloads for Vector4 float & double
- Lexer - do not repeat the filename in each ScriptToken
- Light - add #ifdef NODELESS_POSITIONING
- make sure directional lights are always sorted in front
- make TransfromBase compatible when T is not Real
- merge HighLevelGpuProgram::loadHighLevel with GpuProgram::loadImpl
- move CmdPreprocessorDefines to HighLevelGpuProgram
- replace in memory spot_shadow_fade.png by on disk .dds file
- Resource::calculateSize - use sizeof(*this)
- SceneManager - move destroyShadowTextures to clearScene
- ScriptCompiler - avoid vector of SharedPtr
- ScriptCompiler - deprecate unused internal API
- ScriptCompiler - throw error on invalid import statements
- ScriptLexer - get rid of Ptr to vector antipattern
- ScriptLexer - only record lexeme when type is not sufficient
- ScriptParser - factor out unquoted function
- ScriptTranslator - unify GpuProgram translation
- ShadowRenderer - bind shadow texture to correct Pass with RTSS
- ShadowRenderer - fix spot shadow fade with the RTSS
- slightly refactor shadowrenderer
- switch internal HighLevelGpuProgramFactory API to GpuProgram*
- TextureManager - assert that total texture size is not zero
- UnifiedHighLevelProgram - allow delegating to low-level programs
- Node - make getLocalAxes more numerically stable
- Matrix3 - make several functions inline for re-use and refactor
- Bites
- add keypad key support for Dear ImGui.
- map Dear ImGui to SDL_TEXTINPUT for correct text character processing.
- Move check for Xaw to Bites.
- CMake
- expose OGRE_NODELESS_POSITIONING
- disable imgui, if it is not found out and add nodeless to summary
- Make OGRE_BUILD_TESTS depend on Ogre Bites.
- RTTS - drop separation between core and ext shaders
- Overlays
- imgui - correctly handle RGB > BGR conversion for D3D9
- restore script loading hack to allow re-loading groups
- RTSS
- FFPLib - add missing FFP_Transform variant
- fix linear skinning shaders and replace existing sample by them
- HarwareSkinning - only include light calculations when needed
- LinearSkinning - add missing normal transformation
- make hardware skinning work with GLES3+
- properly handle uniform arrays of non square matrices
- Texturing - switch back to inspecting srcPass
- Texturing - use ACT_TEXTURE_VIEWPROJ_MATRIX for projection matrix
- use the RTSS to generate Hardware Skinning shadow caster shaders
- use uint4 for BLENDINDICES for HLSL4 compatibility
- D3D9/ D3D11: allow background shader compilation in prepare()
- D3D11
- HLSL - drop shared_ptr juggling and remove according hack in Main
- make sure PF_RGB correctly falls back to PF_XRGB instead of RGBA
- Switched ID3D11DeviceContext::ClearState and ID3D11DeviceContext::Flush as recommend by Microsoft.
- D3D9: retain monitorIndex of the "Rendering Device" config option
- GL*
- delete background contexts before destroying the HBM
- fix uploading sampler array uniforms
- Non-square matrices are always row-major in Ogre with no
conversion, so force off transposition.
- GL
- explicitly convert matrices to float for OGRE_CONFIG_DOUBLE
- fix crash & error due to type mismatch
- get rid of GLSLGpuProgram and consolidate GLSL code in GLSupport
- GLSupport
- add the 'externalGLControl' option to Cocoa render windows
- factor out common GLWindow class
- move background context registration to GLRenderSystemCommon
- Docs: add background resource loading tutorial
- Basic Tutorial 2 - use additive lighting
- improve VTF section
- manual - improve GPU Program documentation
- Manual - slightly improve Shadows section
- Manual: document GLSL non-square matrix translation behavior
- RTSS - add hardware_skinning section
- update License.md - added pugixml, dropped nedmalloc
- Samples
- add clarifying comment when using the ImGuiOverlay() in custom apps (#1333)
- Do not build demo installer when SampleBrowser is disabled
- BumpMapping - use HLSL instead of Cg
- clean up Shadows sample
- do not build imgui sample, if it is disabled
- drop obsolete HadwareSkinning materials & shaders
- enable Fresnel Sample for D3D11 by using HLSL instead of Cg
- fix depth shadow caster for HLSL4
- OffsetMapping - finalize cleanup and fix multilight setting
- OffsetMapping - use HLSL instead of Cg and simplify material
- Browser - improve UI layout on Mobile
- Tests
- PlayPen - port to nodeless positioning by using helper class
- unify glow shaders
v1.12.3
- Main
- allow reading zip archives from unicode paths
- Compositor - allow setting auto clear colour from script
- deprecate QuadMaterialMap typedef
- deprecate TEX_TYPE_2D_RECT
- deprecate _writeRawConstant(size_t, Real, size_t count)
- fix GpuParameters not being updated if preRender returns false
- make reverse-Z a ConfigOption and check compatibility in GL3Plus
- Pass - setPointSpritesEnabled. Check for RSC_POINT_SPRITES
- properly handle MRT depth attachments
- removed extra unlock, which caused assert failure. (#1273)
- SkyRenderer - correctly apply orientation to SkyBox
- TextureUnitState::setTextureName - do not reset the TextureType
- Added support for 32 bit floating point depth buffer (#1290)
- Provide copy and assign ctors where needed.
- Fixed exit from Matrix3::SingularValueDecomposition when reaching max iteration count
- CMake
- add dotscene plugin and imgui support to feature summary
- enable unicode path support on MSVC by default
- Bites
- ApplicationContext - implement destroying windows
- Input - specify return value and add InputListenerChain
- Overlay
- allow injecting derived Overlay classes
- merge ogre-imgui into Overlay & Bites
- Implemented pixel ratio for HiDPI
- RTSS
- HLSL use SM4 sampling functions if available
- PSSM3 - fix shader generation for depth textures with HLSL
- PSSM3 - fix depth texture, no split with reversed depth with GLSL
- Terrain
- generate SM4 compatible shaders
- fix shadows with reversed-z & depth textures
- Docs
- improve Compositor script documentation
- fix a bunch of doxygen warnings
- Install Linux docs in /usr/share/doc/OGRE
- add reversed depth tutorial
- GL*
- drop unneeded calls to glReadBuffer
- Texture - keep driver default parameters for initial upload to avoid stalls
- GL3+
- allow FBOs with depth and non-depth texture attachments
- Reverse depth buffer implementation for OpenGL3+
- fix leak when a program object is created but one already exists
- GL3+/ GLES2: fix handling of PF_A8 textures & add test
- D3D11 & GL3+: consider reversed-Z for texture compare & texture border
- GL: remove some version checks - we globally require GL 1.5
- GLSupport:
- EGL - fix emscripten build
- EGL - use the standard FSAA name on Emscripten & Android
- GLSLPreprocessor: fixup #elif support + test
- GLSLPreprocessor: use std::forward_list instead of ad-hoc solution
- Android: export viewport scale through getViewPointToPixelScale
- Android - query ANativeWindow instead of EGL for window size
- D3D11
- drop RSC_POINT_SPRITES, which is not supported
- use precise depth format mappings that we have now
- add reversed-Z support
- D3D9 & D3D11: ps_2_x & vs_2_x are not HLSL profiles
- Samples
- add Imgui demo
- introduce HLSL_SM4Support.hlsl to unify Cg/ HLSL4 shaders
- clean up Example_Basic.{cg, hlsl} mess
- Browser - make sure Trays are not tiny on Android
- Context - use isCurrentSamplePaused to make code more readable
- drop Sample::getRequiredRenderSystem
- ShowUV - fix varying matching in GLSL shaders
- SkyBox materials must not use normals - D3D11 is picky here
- SSAO - merge Cg & HLSL post processing shaders
- fix depth shadow caster for HLSL4
- Tests:
- make PlayPen_VertexTexture compatible with D3D11
- fix MinGW build
- PlayPen_DepthShadowMap - add normals to satisfy D3D11
v1.12.2
- Main:
- DefaultHardwareBufferManager - fix order of destruction
- deprecate getMovableObjectFactoryIterator
- deprecate RenderSystem::bindGpuProgramPassIterationParameters
- deprecate SceneManager::getMovableObjectIterator
- factor out internal _openFileStream method
- Frustum - correct extent computation for customProjMatrix
- remove logging from Exception constructor altogether
- TRect - add operator==
- use the idiomatic addElement().getSize() chaining for VertexDeclarations
- CMake
- disable precompiled headers on MinGW
- export unicode paths option on MSVC
- Csharp: install source files for easier consumption and fix build
- D3D9: implement bindGpuProgramPassIterationParameters by general means
- GLSupport
- EGL - add HWgamma support
- EGL - correctly handle windowMovedOrResized with parent win
- implement the 'currentGLContext' parameter for cocoa windows on macOS
- unify EGL/ GLX debug output
- GL3+
- support loading SPIRV shaders
- update glcorearb.h to OpenGL 4.6
- GL*
- GLSL - some code simplification
- GpuProgram - implement pass iteration params binding using mask
- unify uniform block handling in GLSupport
- Plugins
- add DotSceneLoader plugin
- STB image - update to latest upstream
- XMLConverter
- replace tinyxml by pugixml
- simplify code
- Samples
- add volumetric light shafts sample
- avoid SampleBrowser swallowing sample input events
- Tutorials - Added CXX 11 as it does not build without it
- Tests
- fix gtest discovery when built locally
- test Camera::setCustomProjectionMatrix
- update gtest and build it like the rest of the deps
- Docs
- update dependencies and document cmake options
- use aliases to annotate shader specific pass parameters
- update "Binding vertex attributes" section
v1.12.1
- Main
- add optimized PF_R8 scaling & conversion
- add overloads for MaterialPtr ManualObject
- improve Singleton documentation
- properly export RenderOperation
- Texture - also unset TU_AUTOMIPMAP when mNumMipmaps == 0
- update SSE2NEON to fix softwareVertexSkinning
- use general softwareVertexSkinning implementation instead of NEON
- Add missing nullptr_t constructor for SharedPtr
- Do not replace existing entries in ResourceGroup index
- use std::map::emplace instead of std::map::insert to simplify code
- OgreETCCodec: KTX container: add support for a subset of ASTC textures
- OgrePixelFormat: fix obvious typo in computing astc_slice_size()
- XMLConverter
- do not attempt to create "" named materials
- use Listener to keep material references for mesh2xml
- CMake
- Android - fix installation of core resources
- Android - port build to gradle
- SWIG: export VertexElementList and ignore some deprecated stuff
- Overlay
- fix TextArea Font and material change
- Add _setMaterial method to Font
- Bites: Trays - allow interacting with widgets using the system cursor
- Terrain: use material group for composite map
- D3D11: Replaced the use of getCustomAttribute() methods by new D3D11RenderTarget interface (#1212)
- D3D9: fix uninitialised memory in lighting
- GLSupport: [OSX] Avoid leaking and over releasing of mGLContext and mGLPixelFormat - always store retained, always release. Initialize mGLPixelFormat in externalGLContext case too. Cleanup.
- GL3+
- correct building shader programs when compute shader is present
- Make GLSL part of GL3Plus private implementation (#1188)
- GLES2: fix PixelFormat assert and compilation with GLStateCache
- GLES2/ GL3+: use compile time assert in PixelFormat
- RTSS: add missing forward declare
- Samples
- AndroidJNI - properly request Camera permissions
- correct path for AndroidJNI samples
- Test correct resource location priority
- Docs:
- clarify light-related SceneManager comments
- improve documentation of ManualResourceLoader
- improve RTSS documentation
- update building instructions for android
v1.12.0
- Main
- add ACT camera world position for camera relative rendering
- add DefaultTextureManager and NullTexture for software fallbacks
- add PF_DEPTH32 and map it in GL3+
- add proper deprecation notes for legacy HardwareBufferLockGuard
- add SSE2NEON for NEON SIMD support
- Any - throw std::bad_cast instead of InvalidParametersException
- append "_d" in DynLib instead of getConfigFilePath
- assert instead of segfaulting if volume materials are unavailable
- CompositionTechnique - except if texture name is not unique
- Compositor - factor out resolveTexReference
- CompositorManager - stop using ptr to std::vector antipattern
- Compositor - reuse common methods of CompositorInstance & use uint
- correctly handle the case of identityView && cameraRelative
- correctly mark DebugRenderable for export
- define a common OGRE_TOKEN_PASTE macro for LINE concat
- DepthBuffer - make FSAA API consistent with RTT API
- _destroySceneNode - fix destroying last item in mSceneNodes
- disambiguate ResourceManager overloads
- drop deprecated RenderSystem API
- drop deprecations with low impact
- drop DIRECTXMATH support now that we have NEON everywhere
- drop RSC_CUBEMAPPING by bumping required D3D9 feature level to 9.1
- drop support for separateUV
- drop useless RSC_COMPLETE_TEXTURE_BINDING
- DynLib - fix WinRT build
- Entity - use vector based storage for child objects
- factor out OGRE_BUILD_* settings to OgreComponents.h
- factor out ShadowVolumeExtrudePrograms to filesystem
- FileSystemLayer - do not force the Ogre subdir upon consumers
- fix android build without Zip
- fix building without ZIP
- fix combinedUVW for separate images & deprecate separateUV setting
- fix default texture filtering value set to the value other than FO_NONE for TE_EXTERNAL_OES and TEX_TYPE_2D_RECT
- fix integer overflow when num threads and use a sane limit of 2
- fix segfault when set_texture_alias arguments are missing
- GpuProgramManager - provide default noop loadImpl
- HardwareBufferLockGuard - assert that buffer is not null
- hide OgreParticleEmitterCommands.h
- hide OgrePrefabFactory
- hide ShadowTextureManager
- HighLevelGpuProgram - fix #line directive filename refrencing
- HighLevelGpuProgram - unify preprocessor define parsing
- implement ACT_NORMAL_MATRIX
- install new OgreComponents.h
- introduce Vector4f and use it to store attenuation
- ManualObjectSection - factor out convertToSubMesh
- MaterialManager - fix leak of mDefaultSettings passes
- MaterialSerializer - fix writing texture_unit section + tests
- Math - factor out common makePerspectiveMatrix
- Matrix4 - make converting constructors explicit
- Mesh - make default constructor match createOrRetrieve
- MeshManager - load prefabs only on demand
- MeshManager - move ManualResourceLoader API into separate class
- move auto window creation logic from RenderSystem to Root
- move DisplayMode from Profiler to Overlays
- move more code from SceneManager to ShadowRenderer
- Node - deprecate getChildIterator
- Node - use PrefabFactory to create DebugRenderable
- OptimisedUtil - log ticks instead of requiring a breakpoint
- OptimizedUtil - fix compilation with DO_PROFILE
- parametrize TransformBase to make it universally usable
- ParticleEmitter - add asserts to catch invalid velocity values
- Pass - fix wrong assignment of attenuation parameters
- PixelFormat - move byte aliases to end to fix big endian build
- PlatformInformation - NEON does not depend on a specific CPU arch
- Profile - add remotery support
- Profile - avoid allocations for event names, fill swapBuffers hole
- Profiler - clear the whole hierarchy when enabled mid-frame
- Profiler - ignore mEnabled with Remotery
- Profiler - make Profile RAII helper inline
- Quaternion - inline several trivial member functions
- reduce private SceneManager API usage in ShadowRender
- RenderSystem - add back some deprecated internal API
- RenderSystem - drop advanced TextureUnit settings
- RenderSystem - drop obsolete hasAnisotropicMipMapFilter
- RenderSystem - fix _setProjectionMatrix fallback code
- RenderSystem - pass FFP params through GpuProgramParameters
- RenderTarget::writeContentsToTimestampedFile - use ISO 8601 order
- replace some useless comments by "override" keyword
- ResourceGroupManager - allow disabling throwing in openResource
- Root - fix auto creation of Window
- SceneManager - allow to disable throwing in getSceneNode
- SceneManager - also use fog_override values for auto fog_params
- SceneManager - convert _TYPE_MASK members to enum
- SceneManager - deprecate SceneType & fix some deprecation warnings
- SceneManager - deprecate shadow config iterator access
- SceneManager - fix finite and infinite extrusion params pointers
- ScriptCompiler - drop useless CE_UNSUPPORTEDBYRENDERSYSTEM
- ScriptCompiler - hide abstract bases from OverlayTranslator
- Script - fully deprecate single argument cubic_texture
- ScriptTranslator::getConstantType - catch unsupported types
- ShadowCameraSetup - add static create() to accommodate bindings
- ShadowRenderer - do not pool depth for PF_DEPTH
- simplify AxisAlignedBox
- slightly speed up TextureUnitState::recalcTextureMatrix
- String - fix doxygen inline comment
- SubEntity - move trivial getters to header to allow inlining
- SubMesh - store MaterialPtr instead of material name
- Texture - add native layer array support
- Texture - fix fallout from layer array refactor
- Texture::getBuffer - return by const ref
- Texture - slightly refactor code and avoid errors on corner cases
- TextureUnitState - deprecate isCubic() & is3D()
- TextureUnitState - drop useless binding types
- TextureUnitState - fix fallout after using NULL frame for blank
- TextureUnitState - refactor setAnimatedTextureName
- Timer - use fixed width uint64_t for time duration
- turn some #if OGRE_PROFILING into runtime options
- TUS - fix one more instance of NULL for blank & add tests
- use Matrix3x4f TransformBase typedef in InstancedEntity
- Vector3 - return IDENTITY in getRotationTo for zero-sized vectors (#1045)
- ZipArchive - improve zzip error messages
- Unify enum TextureUsage between v1.11 and v2.1 (TU_NOTSHADERRESOURCE => TU_NOT_SRV, +TU_UAV, +TU_UAV_NOT_SRV)
- use exception safe buffer unlocking everywhere
- move OgreUTFString to Overlay component, get rid of no longer needed OGRE_UNICODE_SUPPORT
- spare the Quaternion coversion when we only need a Matrix3
- stop using deprecated setCubicTexture internally
- Support PixelBox::getSubVolume with slice granularity for compressed textures - no need for relaxed checks
- Math: Matrix3 - Increase precision of SVD decomposition
- SceneManager: O(1) complexity for destroySceneNode()
- SceneManager: restore log(N) complexity for named node lookup
- SIMDHelper: drop unused __mm_rsqrt_nr_ps
- Ensure that requesting partial copy of compressed texture will lead to exception rather than silent data corruption. Partial copy is implemented in Ogre v2.1
- Fixed for Emscripten/Webassembly port to work again
- Fixed Matrix3::SingularValueDecomposition for bidiagonal matrices
- fix negative particle size when scale affector decrease size
- parse #include directive in GLSL shaders
- VTF instancing with HLSL (#1167)
- remove superficial OgreExport to fix MinGW build
- Bites
- add workaround for swig crashing on ApplicationContext
- ApplicationContext - add fallback locations for RTSS media
- ApplicationContext - default to "Ogre3D" as appName
- ApplicationContext - update fallback internal media locations
- ApplicationContext - windows must be destroyed in reverse order
- correctly update director flags after ApplicationContext rename
- disable ConfigDialog on MinGW until we have resolved #1064
- extract ApplicationContextBase to allow multiple implementations
- generate Shaders for all registered RTSS schemes
- put RTShaderLib paths in resources.cfg instead of guessing them
- SWIG - correctly handle OgreComponents.h
- Trays - ensure window update on first call
- Trays - fix jumping Slider handle
- TraysManager - limit progress bar update rate to 4fps
- SWIG
- add repr to Affine3
- fix MSVC builds of Python, Csharp and Java
- fix MSVC CI build
- fix wrapping of Billboard{Set, Chain} that also derive from MO
- make VectorBase* available for wrapepd Vector* classes
- Python: organize all modules in parent Ogre package
- Java: add install targets
- CMake
- Bites - issue a warning if SDL2 was not found
- drop obsolete Android Toochain - we use the one shipped with NDK
- set CMP0068 and default CMAKE_OSX_ARCHITECTURES to x86_64
- silence warning about deprecated swig_add_module
- WinRT - drop support for WindowsPhone and old MSVC
- -Wno-inconsistent-missing-override, so we can incrementally add them
- Fix the CMAKE_MAKE_PROGRAM variable is not set in 3rd party libraries#
- FreeImageCodec: fix error message when FreeImage_LIBRARIES is empty
- RTSS
- add FFPLib_AlphaTest.cg, accidentally dropped in refactoring
- add material serializer test
- add templated createSubRenderState overload
- allow manually trigger...
v1.11.6
- Main
- fix building without ZIP
- fix combinedUVW for separate images & deprecate separateUV setting
- fix default texture filtering value set to the value other than FO_NONE for TE_EXTERNAL_OES and TEX_TYPE_2D_RECT
- fix integer overflow when num threads and use a sane limit of 2
- fix segfault when set_texture_alias arguments are missing
- Fixed Matrix3::SingularValueDecomposition for bidiagonal matrices
- fix negative particle size when scale affector decrease size
- MaterialManager - fix leak of mDefaultSettings passes
- SceneManager - fix finite and infinite extrusion params pointers
- add ACT camera world position for camera relative rendering
- add PF_DEPTH32 and map it in GL3+
- add proper deprecation notes for legacy HardwareBufferLockGuard
- add SSE2NEON for NEON SIMD support
- correctly handle the case of identityView && cameraRelative
- correctly mark DebugRenderable for export
- DepthBuffer - make FSAA API consistent with RTT API
- disambiguate ResourceManager overloads
- drop DIRECTXMATH support now that we have NEON everywhere
- Mesh - make default constructor match createOrRetrieve
- Node - deprecate getChildIterator
- OptimisedUtil - log ticks instead of requiring a breakpoint
- OptimizedUtil - fix compilation with DO_PROFILE
- ParticleEmitter - add asserts to catch invalid velocity values
- PixelFormat - move byte aliases to end to fix big endian build
- PlatformInformation - NEON does not depend on a specific CPU arch
- Quaternion - inline several trivial member functions
- ResourceGroupManager - allow disabling throwing in openResource
- SceneManager - allow to disable throwing in getSceneNode
- SceneManager - deprecate shadow config iterator access
- Script - fully deprecate single argument cubic_texture
- ScriptTranslator::getConstantType - catch unsupported types
- ShadowCameraSetup - add static create() to accommodate bindings
- ShadowRenderer - do not pool depth for PF_DEPTH
- simplify AxisAlignedBox
- slightly speed up TextureUnitState::recalcTextureMatrix
- Texture - add native layer array support
- Texture - slightly refactor code and avoid errors on corner cases
- TextureUnitState - deprecate isCubic() & is3D()
- TextureUnitState - refactor setAnimatedTextureName
- Vector3 - return IDENTITY in getRotationTo for zero-sized vectors (#1045)
- ZipArchive - improve zzip error messages
- Matrix3 - Increase precision of SVD decomposition
- SceneManager: O(1) complexity for destroySceneNode()
- SceneManager: restore log(N) complexity for named node lookup
- SIMDHelper: drop unused __mm_rsqrt_nr_ps
- spare the Quaternion coversion when we only need a Matrix3
- stop using deprecated setCubicTexture internally
- Support PixelBox::getSubVolume with slice granularity for compressed textures - no need for relaxed checks
- VTF instancing with HLSL (#1167)
- parse #include directive in GLSL shaders
- CMake
- Bites - issue a warning if SDL2 was not found
- set CMP0068 and default CMAKE_OSX_ARCHITECTURES to x86_64
- Fix the CMAKE_MAKE_PROGRAM variable is not set in 3rd party libraries
- FreeImageCodec: fix error message when FreeImage_LIBRARIES is empty
- Bites
- disable ConfigDialog on MinGW until we have resolved #1064
- generate Shaders for all registered RTSS schemes
- Trays - ensure window update on first call
- Trays - fix jumping Slider handle
- TraysManager - limit progress bar update rate to 4fps
- use exception safe buffer unlocking everywhere
- Ensure that requesting partial copy of compressed texture will lead to exception rather than silent data corruption. Partial copy is implemented in Ogre v2.1
- RTSS
- add FFPLib_AlphaTest.cg, accidentally dropped in refactoring
- add templated createSubRenderState overload
- correctly apply specular normalisation before addition
- fix resolving params with autoConstantIntData != 0
- merge remaining parts of glsl & glsles RTShaderLib
- ~SGTechnique - fix use after free
- update PSSM3 split point documentation
- Terrain
- MaterialGenerator - actually disable normal maps if requested
- TerrainGroup - add loadLegacyTerrain for 1.7 style terrain.cfg
- SWIG
- add repr to Affine3
- fix MSVC builds of Python, Csharp and Java
- fix MSVC CI build
- fix wrapping of Billboard{Set, Chain} that also derive from MO
- make VectorBase* available for wrapepd Vector* classes
- Java: add install targets
- Media: drop the unused old instancing shaders
- Overlay: fix crash when tasking out of full screen
- GLSupport
- "contentScalingFactor" option to scale Android back buffer (#1033)
- move getPass*States override to GL
- CPreprocessor: skip duplicate strlen call
- GLES2
- EAGL2Window: derive from GLRenderTarget as required
- Fix crash when opening GLES2 Mali emulator
- GL*
- allow MRT with different formats if supported
- fix FBO format logging
- Revert "GL*: do not needlessly bind zero texture"
- GL
- do not cache programs containing geometry shaders
- fix GLArbGpuProgram::loadFromSource exception code & message
- fix warning flood with Copy & PBuffer RTT
- D3D11:
- allow D3D11DeviceResource to create and destroy self or other D3D11DeviceResources in notifyDeviceLost/Restored handlers
- D3D11HardwarePixelBuffer: Create staging buffer with only single subresource, ret immediately after usage
- D3D11VertexDeclaration - add useful information to exception
- Dead code removed (offset was always zero)
- Restored the ability to differentiate between identically named adapters
- Reuse field declared in the base class (mLockBox => mLockedBox)
- We need to clean only one texture slot as there is only one depth texture (stored in mDSTResView) even for D3D11MultiRenderTarget
- Docs
- manual - improve shadows section
- slight corrections for Compositor Scripts
- Samples
- Python - drop deprecated ApplicationContext parameter
- TexturedFog - fix errors with strict mode
- Tests
- add Matrix3SVD test
- VTests: drop superficial calls to buildTangentVectors on knot.mesh
v1.11.5
- Main
- AnimationStateControllerValue - add create() and addTime option
- Controller - add static ::create() member to Function & Value
- DeflateStream - Avoid assert when read is satisfied by cache
- DeflateStream - call destroy[ZStream] in close()
- Fixed memory leak in MemoryDataStream.
- fix various warnings/ issues discovered by clang analyzer
- GpuProgramParametersSharedPtr -> const GpuProgramParametersPtr&
- handle empty resources - throw in RGM and return false in Archive
- Math - deprecate intersects(.. list ..)
- Math - move simple function definitions to header
- Math - typedef RayTestResult and inline some ::intersect funcs
- Node::DebugRenderable - draw over existing geometry
- Plane - move all definitions to header to allow inlining
- RESOURCE_GROUP_NAMEs should be the same regardless of STRICT_MODE
- Root - fix shutdown() after oneTimePostWindowInit() was called
- TextureUnitState::setBlank - restore pre 1.11 semantics
- unify handling of blank textures
- CMake
- Dependencies - switch to upstream zzip
- install swig interfaces for consumption by external modules
- RTSS
- add option to use energy preserving blinn-phong reflectance
- ShaderProgram - allow preprocessor defines
- Bites
- ApplicationContext - add public getFSLayer
- ApplicationContext - call Root::saveConfig() after shutdown()
- CameraMan - add setPivotOffset for manual offset control
- Input - corrected the SDLK_PAGEDOWN value (#989)
- Input - forward MouseButtonEvent::clicks
- OgreCameraMan - allow disabling fixed camera yaw
- add hacky workaround for black window on OSX
- Terrain
- checkQuadIntersection - drop superficial normalization
- speed up getHeightAtTerrainPosition
- SWIG
- add C# bindings component
- wrap AnimationStateMap
- wrap Ogre::TRect
- wrap RaySceneQueryResult
- wrap RenderTarget::FrameStats
- Python: add version module version number
- GL*: fix various issues discovered by clang analyzer
- GLSupport: fix GLXWindow::resize for non-toplevel windows
- D3D11: also use _getTextureBindFlags for 3D textures
- GLES2: fix building with hlsl2glsl
- D3D9
- do not crash when moving window to the second screen
- drop actually unsupported RSC_AUTOMIPMAP_COMPRESSED
- we must use TU_DYNAMIC for mipmap generation on D3D9Ex
- Docs: Manual - improve references/ formatting in Animation chapter
- Samples
- Android - merge both samples into single project/ directory
- correct (lower) shader requirements of terrain related samples
- InstancedViewports - fix GLSL using preprocessor defines