- Main:
- Node: store children as vector instead of map to optimize for iteration
- allow direct access to children
- allow unnamed SceneNodes
- add removeAndDestroyChild(SceneNode*)
- Frustum: add setMaterial to change appearance of debug display mesh
- DistanceLodBoxStrategy: fix LOD computation
- add
OGRE_USE_STD11
option- use
std::shared_ptr
when set
- alias OgreAtomic to
std::atomic
- implement
SPFM_NONE
forstd::shared_ptr
- use
- AtomicScalar: improve compatibility with std::atomic & deprecate old API
- STBICodec: disable writing to file on Emscripten
- STBICodec: correctly write RGB and BGR formats
- Root: allow calling shutdown() manually
- SubEntity: de-virtualize all members as it is not meant to be inherited
- VertexBufferBinding: devirtualise as it is never inherited from
- Added VertexDeclaration::notifyChanged()
- deprecations
- Image::Box and Image::Rect
- RenderSystem::{setVertexDeclaration, setVertexBufferBinding}
- OgreAtomicObject
- Light: deprecate node-less positioning
- SimpleRenderable::setMaterial(String)
- RenderSystem::_setWorldMatrices
- Node: store children as vector instead of map to optimize for iteration
- Swig:
- add Java component
- typemap output arguments of getFrustumExtents
- use anonymous template instantiation to avoid namespace clutter
- CMake:
- add option to control the node storage
- introduce OGRE_THREAD_SUPPORT == 3 option
- Fix OGRE_LIB_SUFFIX for upper case build type This fixes the build when using an upper case build type such as "Debug"
- fix pdb installation on win32
- Overlay: fix destruction sequence of OverlayManager
- Bites
- AdvancedRenderControls - also handle Profiler and Screenshots
- ApplicationContext - allow overriding window name
- Android: allow context loss to be signalled through the OgreMain API
- OSX:
- Add option for NSOpenGLCPSurfaceOrder
- createRenderWindow(): "border" on macOS
- Fix failed assertion on macOS
- add includes for locale_t when using make on macOS
- D3D11Texture: Allow freeInternalResources > setWidth/Height > createInternalResources sequence, used by CEGUI, #490
- D3D9: Potential fix for OGRE-574 Crash on texture loading on old ATI / AMD card with DirectX9 (non power of 2)
- GL*:
- do not select packed depth-stencil if stencil is unavailable
- drop GLSLProgramCommon::getAttributeIndex
- Ignore additional texture usage bits when translating to GL usage
- Translate all usage combinations into meaningfull OpenGL usage hints, fixed assert for
TU_RENDERTARGET
in GLES3 - refactor VertexArrayObject binding to share more code in GLSupport
- simplify bindVertexElementToGpu
- GLSupport:
- refactor createWindow -> parseOptions
- unify duplicated removeDuplicates function
- validateConfig() is unsupported on all platforms
- check that glx extension functions are found (#507)
- Properly set FSAA and gamma setting in OgreGLXWindow when using external GL context
- GL3Plus/ GLES2:
- finish VertexArrayObject implementation
- Infrastructure for creation/binding/destruction VAOs in owning context (VAOs are not shared between contexts)
- Create VAOs lazy, recreate on attempt to use in wrong context
- Notify VAOs about context destruction, to clear dangling pointer
- drop GL*Program::_useProgram API
- Use directly GLSurfaceDesc, GLRenderTexture, GLRTTManager; eliminate unused GL*CopyingRTTManager
- use fixed AttributeIndex like GL
- finish VertexArrayObject implementation
- GL3Plus:
- avoid redundant calls to GLSLProgram::activate
- move glTransformFeedbackVaryings call to GLSLProgram
- StateCacheManager - do not overwrite GL_ELEMENT_ARRAY_BUFFER
- GLES2:
- Android - invalidate VAOs on context loss
- Fixed GLES3 path in GLES2TextureBuffer::download, missing glGetTexImage call to transfer pixels tex=>ppack, glGetTexImage is unavailable in GLES3
- Fixed packed depth/stencil format detection in GLES3 mode, don`t clear stencilBuffer var so that it would be eventually bound to pipeline
- Fixed usage of glLabelObjectEXT, call it after binding to avoid GL_INVALID_OPERATION on iOS
- remove Mali-T628 workaround. Ogre was unmapping the wrong buffer.
- update StateCacheManager for VAO usage
- Docs:
- add profiler tutorial
- add sequence diagram for renderOneFrame
- high-level-programs - explain basic usage before advanced feats
- material-scripts - formatting
- move External Texture Sources from manual to tutorials
- move High-level-Programs to top-level of manual
- umldocs - recreate diagrams using plantuml
- VertexElementType - deprecation comment was referencing wrong elem
- Samples:
- port AndroidJNI to Java bindings
- VolumeTex - drop unused variable that conflicted with xtimec.h
- HLMS: cubemap - use cubescene instead of huge SaintPetersBasilica
- Tests:
- add
Root::shutdown
regression test - add test for
SceneNode::removeAndDestroyAllChildren
- PlayPen_ManualLOD: update scene s.t. we actually see the effect of LOD
- add