- OgreMain
- vector based storage: do not try to remove anonymous nodes by name
- InstanceBatch::_updateBounds: Make sure parent node is marked as dirty.
- Fix setDirection when mYawFixed is true and the parent transform should be inherited.
- PF_BC4_UNORM and PF_BC7_UNORM should account for depth in PixelUtil::getMemorySize
- Fix warnings from PVS-Studio Static Analyzer
- V595 Pointers had been dereferenced before they were verified against nullptr.
- V535 The variable is being used for this loop and for the outer loop.
- V579 The memset function receives the pointer and its size as arguments.
- V501 There are identical sub-expressions to the left and to the right of the '!=' operator.
- V734 ScriptTranslator did not correctly parse uint
- Backport ASTC support from v2-1
- PixelUtil::packColour: add PF_A2B10G10R10 support
- StringInterface: drop the description field from ParameterDef
- drop dysfunct support for wide character strings
- OgrePixelFormat: deprecate PF_BC7_UNORM_SRGB
- deprecate v2-1 style Threads API - we already got too many of these
- SceneManager: deprecate setting Caster/Receiver Material by name
- Root: deprecate createSceneManager(SceneTypeMask) in favor of typeName
- AutoParamDataSource: reduce usage of mutable members
- needlessly virtual functions
- AutoParamDataSource: make class non-virtual as it is never derived from
- Frustum: use Rect for extents and devirtualise most of its API
- Texture: devirtualise trivial getters and setters
- SceneManager: devirtualise methods not meant to be overridden
- StringInterface: should not have any virtual methods besides destructor
- GpuProgram: devirtualise final methods
- Resource: deprecate useless methods and devirtualise final ones
- Platforms:
- [OSX,iOS] correctly use Availability.h
- OgrePlatform: drop _OGRE_SIMD_ALIGN which is defined in SIMDHelpers.h
- [OSX,iOS] Fixed crashes caused by wrong OpenGL context during windowing operations
- [OSX] Update content scale factor when window moved
- [OSX] Fixed build on OSX with SDK less than 10.12
- [iOS] bind FBO for EAGL window target immediately before actual render, as RenderTarget::_beginUpdate() is too early
- [iOS] Fixed layout in split screen mode, when for example screen of iPad in landscape mode is split between 2 apps, each of them having height > width. Doing nothing does the trick.
- [iOS] Stencil support: use GL_DEPTH24_STENCIL8_OES if available. It is mandatory format in GLES3, and available since PowerVR SGX GPUs (iPhone 3GS+), as documented here
- [iOS] Use POOL_NO_DEPTH for EAGL2Window
- [iOS] Do not discard color buffer content in non-multisampled case, see "Discard Unneeded" Renderbuffers section
- [Win32] Added #ifdef _OGRE_FILESYSTEM_ARCHIVE_UNICODE (base path and resources subpathes expected to be in UTF-8 and wchar_t file IO routines are used)
- [Win32] Fixed compilation for Windows ARM64
- [Linux] GLXWindow: parentWindowHandle - make sure the correct drawable is used
- [Linux] GLSupport: we must link against libGL to get GLX
- [Android] do not terminate EGL if we are preserving the context
- [EGL] drop effectively commented "RTT Preferred Mode" option
- [MinGW] CMake - consistently set _WIN32_WINNT to WinXP (0x0501)
- Docs
- Basic Tutorial 1 - Porting from wiki (#512)
- Basic Tutorial 2 - Porting from wiki (#523)
- merge Bootstrap into Tutorials and slightly clean up structure
- improve cross referencing using @ref and add GLSL notes
- improve HLMS tutorial
- make renderOneFrame more prominent
- PixelFormat - clarify PF_BYTE_ format rules
- setup - reference the Java & Python version + slight reformatting
- CMake: add Wundef and Wmissing-declarations
- fix Wmissing-declarations warnings
- FreeImageCodec: fix Wmissing-declarations
- workaround for Wundef in zzip/conf.h
- Bites
- ApplicationContext - allow creating additional windows
- ApplicationContext - handle windowMovedOrResized on Android
- fall back to install location for plugins.cfg and resources.cfg
- HLMS
- pass strings by const& to avoid copies
- store members by value instead of allocating them
- Other Components
- RTSS: GLSLESProgramWriter - avoid needless copy for considerable speedup
- Property: workaround Wundef with boost
- Overlay: workaround for Wundef in freetype
- deprecate Property component
- Swig: workaround directors for Java without breaking Python traces
- Swig: wrap RenderSystemList
- GL*:
- drop getClosestGLInternalFormat in favour of getNativeFormat
- HardwarePixelBuffer - use InternalFormat to check format support
- PixelBuffer - do not allocate temp buffer when it is not needed
- unify warning texture generation in TextureManager
- use depth buffer as stencil buffer pointer for packed formats
- use getTopLeftFrontPixelPtr() instead of GL_UNPACK_SKIP_PIXELS
- RenderTexture - prefer native endian byte formats
- PixelUtil: use a format table instead of multiple switch/ cases
- GLHardwarePixelBufferCommon: do not needlessly download buffer contents
- GL3Plus:
- _completeDeferredVaoDestruction => _completeDeferredVaoFboDestruction
- fix gl_PointCoord.xy always zero with nVidia drivers
- fix PBO upload path by explicitly doing a bulkPixelConversion
- GLSL - correctly parse #version and support unversioned SSO
- respect versionPos when inserting SSO block prior to GLSL150
- speed up upload of reversed formats and remove bad endian check
- unify HardwareBuffer implementations by aggregating real buffer
- GLES2:
- blitFromMemory - remove needless bulkPixelConversion
- detect Transform Feedback and Uniform Buffers at runtime
- enable FBO multisampling at runtime
- enable MRT support at runtime
- FBO - only check format support at detection time
- fix BlitSubTextures
- fixed non-Apple builds
- fix pixel conversions when format is not supported
- GLES2FBOManager - GL_BGRA_EXT is not color-renderable
- Hardware*Buffer::copyData - also update ShadowBuffer
- PixelFormat::getClosestOGREFormat drop unused dataType parameter
- xelUtil: use a format table instead of multiple switch/ cases
- switch to sized texture formats at runtime
- unify HardwareBuffer implementations by aggregating real buffer
- use dlsym instead of eglGetProcAddress
- fixed formatting in debug output - show field as hex rather than dec
- [FBO] recreate FBO on attempt to use from wrong context - usage flexibility
- [FBO] FBOs are not shared between contexts, should be used and destroyed on the proper one
- D3D11: enable SM2_0 HLSL Shader support by default
- Samples:
- SampleBrowser_Android: pause rendering when we lose focus
- Samples: BSP - ensure Q3Shader parser is correctly registered
- Samples/ Tests: do not re-implement camera auto aspect ratio
- Samples: VolumeTex - use native endian PF_BYTE_RGBA
- Python: update example to latest changes in Bites
- Tests
- PlayPen_RaySceneQuery - do not set unrelated ShowOctree
- TestContext: do not needlessly create dummyscene