Skip to content

v1.10.8

Compare
Choose a tag to compare
@paroj paroj released this 31 Aug 13:59
· 4737 commits to master since this release
  • 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 for std::shared_ptr
    • 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
  • 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
  • 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