Changelog History
-
v1.12.9 Changes
September 20, 2020highlight: merge ogre-assimp as
Codec_Assimp
andOgreAssimpConverter
ToolMain
- 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 Changes
July 26, 2020Main
- 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
-
v1.12.7 Changes
June 12, 2020Main
- 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 Changes
April 25, 2020Main
- 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 Changes
February 16, 2020↪ 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
0️⃣ 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 Changes
December 23, 2019↪ 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 Changes
November 06, 2019- 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
- Main
-
v1.12.2 Changes
September 15, 2019Main:
- 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 Changes
June 25, 2019- 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
- Main
-
v1.12.0 Changes
April 30, 2019Main
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 triggering shader generation & add test for this
allow using PSSM3 SRS for normal depth shadow mapping too
Colour - drop useless stage flags to simplify code
const correctness for updateGpuProgramsParams
correct and simplify FunctionInvocation Operand comparison + test
correctly apply specular normalisation before addition
disable hardware PCF for now as it has issues on e.g. Intel
drop deprecated functions
drop deprecated functions
drop SGX_TransformPosition and one SGX_TransformNormal overload
drop specular mapping support in normalmapping SRS
FFPRenderStateBuilder - just use constructor & destructor
FFPTexturing - simplify setTextureUnit preconditions
fix PSSM shader for GLSLES
fix resolving params with autoConstantIntData != 0
fix SGX_ModulateScalar fallout
GLSL - factor out getGL3CompatDefines
hide SGMaterialSerializerListener implementation
Lighting - clean up internal API
Lighting - drop unused uniform surface parameters
Lighting - simplify code by using ACT_NORMAL_MATRIX
Lighting - simplify shaders by using inout semantics
Lighting - there will never be specular input for per pixel lights
lighting - use the autoparam data source to feed data
make code testable and add basic shadergen test
make resolve* funcs never return NULL and drop respective checks
merge per-pixel and normal-map lighting
merge remaining parts of glsl & glsles RTShaderLib
move acquirePrograms/ releasePrograms to TargetRenderState
move bindUniformParameters to TargetRenderState
move CPU program creation to TargetRenderState
move example SRS shaders into Samples/Media
move getCustomFFPSubState to FFPRenderStateBuilder
move UserObjectBinding management to TargetRenderState
Operand - delay null check until FunctionInvocation
PerPixel - directional lights must not unset viewpos request
properly use FunctionAtom base class
PSSM3 - fix fallout in parameter resolve check
PSSM3 - fix hardware PCF and auto enable it for PF_DEPTH
PSSM3 - speed up shader code & use hardware PCF if available
refactor NormalMapLighting
RenderState - use std::unique_ptr for aggregation & slight cleanup
replace FFP_FUNC_ADD/MODULATE/SUBTRACT by BinaryOpAtom
~SGTechnique - fix use after free
ShaderGenerator - hide listener adapters
ShaderGenerator - manage aggregated classes using std::unique_ptr
simplify FFPRenderStateBuilder and default to per-pixel lighting
simplify Operand::OpMask enum and use strict typing for it
slightly simplify Lighting parameter resolution
Texturing - mPSOutDiffuse always contains the "current" value
Texturing - remove superficial assignment to temporary
update PSSM3 split point documentation
use dynamic_cast instead of getType() String comparison
- use Vector3i for lightCount
MeshLOD
- Let Lod0Stripifier use Mesh::getHardwareBufferManager() for buffer creation
- MeshLodGenerator: wrong assertions removed
Media
drop the unused old instancing shaders
factor out top level "core" Media folder
fix mrttestfp_quad.glsl after stdquad refactoring
inherit border attributes in SdkTrays.overlay
merge GLSL / GLSL150 StdQuad_vp and dependent compositors
merge some HLSL and Cg programs in HLSL_Cg
unify DepthShadowmap* programs as GLSL120
unify GLSLES and GLSL120 shaders as GLSL where possible
unify SwizzleGP.glsl, fixing the GL2 version
- PSSM: unify shaders and assume window depth instead of NDC depth on GL
Overlay
do not call _notifyViewport on adding elements
fix crash when tasking out of full screen
fix fallout introduced by the new ScriptTranslator
hide OgreOverlayElementCommands.h
Overlays - use "new" Script Compiler introduced in OGRE 1.6
- use shadowbuffer to avoid stall caused by VBO mapping (#1162)
Terrain
force checkQuadIntersection inline and make it private
MaterialGenerator - actually disable normal maps if requested
move helper shader code to filesystem
slightly clean up TerrainMaterialGeneratorA
speed up calculateHeightDeltas
TerrainGroup - add loadLegacyTerrain for 1.7 style terrain.cfg
use #include directive to append TerrainHelpers
- use non-linear depth for depth shadows
👍 GLSupport
add "contentScalingFactor" option to scale Android 3D buffer (#1033)
drop unused ErrorHandlerFunc abstraction
GLX - drop broken window icon loading code
move getPass*States override to GL
move legacy EXT_geometry_shader4 functionality to GL
OSX - eliminate confusing variable name
unify implementations as GLDepthBufferCommon
- CPreprocessor: skip duplicate strlen call
D3D11:
allow D3D11DeviceResource to create and destroy self or other D3D11DeviceResources in notifyDeviceLost/Restored handlers
D3D11HardwarePixelBuffer: Create staging buffer with only single subresource
D3D11VertexDeclaration - add useful information to exception
Dead code removed (offset was always zero - the only reason why there were no cr
Rename D3D11Texture::getTexture() => getSrvView()
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
GL*
simplify createMultiRenderTarget - only supported with FBOs
Revert "GL*: do not needlessly bind zero texture"
allow MRT with different formats if supported
DepthBuffer - drop unused mMultiSampleQuality field
fix FBO format logging
GL3+/ GLES2: simplify RTT Manager as only FBOs are supported
- GLES2/ GL3+: disable separable programs by default
GLES2:
- EAGL2Window: derive from GLRenderTarget as required
- Fix crash when opening GLES2 Mali emulator
- auto insert precision qualifier into fragment shaders
GL3+
bump minimal required OpenGL context to 3.3
- do not implicitly dispatch compute during _render
🚚 D3D9: Texture - remove unused mCubeFaceNames
GL
actually throw on invalid outputOperationType
do not cache programs containing geometry shaders
fix GLArbGpuProgram::loadFromSource exception code & message
- fix warning flood with Copy & PBuffer RTT
FreeImageCodec/ STBICodec: make methods public (#1047)
📄 Docs
differentiate between the profiler instance and instrumentation
fix ogre 1.12 refactoring warnings
fix several doxygen warnings
fix wrong auto param type in samples
improve preprocessor_defines documentation
improve "setup" Tutorial
manual - improve shadows section
port basictutorial3 to doxygen & adapt Terrain sample accordingly
reorganize GLSL legacy feature documentation
several fixes for 1.11 refactoring
slight corrections for Compositor Scripts
specify what "compatibility with older cards" exactly means
update Entity documentation formatting and references
update profiler documentation for remotery support
update RTSS sequence diagrams and description
use new Ogre logo
- Tip for install via MSVC without Visual Studio
Samples
drop DualQuaternion_Common.hlsl
Instancing - fix remaining HLSL techniques and merge with Cg
Instancing - use RTSS instead of custom shader for ground plane
NewInstancing - fix depth shadows on all RenderSystems
Python - drop deprecated ApplicationContext parameter
Terrain - use RTSS for depth shadows
- TexturedFog - fix errors with strict mode
✅ Tests
add Matrix3SVD test
add SplitBaseFilename tests
add TransformBaseArrayLoading test
fix PlayPen_DepthShadowMap and port it to RTSS
drop superficial calls to buildTangentVectors on knot.mesh
fix PlayPen_ManualObject2D
- reset RTSS after each test to avoid state leaking
⚡️ Tools: update MeshUpgrader and XMLSerializer for SubMesh changes