OGRE 1.11 Released

OGRE3D just released version 1.11.  OGRE (Object Oriented Rendering Engine) is an open source rendering framework written in C++.  The 1.11 release codenamed “Rhagorthua” was heavily focused on cleaning up the underlying code base to improve future development.  This includes tasks like switching to C++11 STL containers when possible, reduced memory consumption and a new scene loading API, SceneLoaderManager.  You can download OGRE 1.11 here.

Full details of this release from the changelog:

  • Main
    • RenderTexture: complete and fix PF_DEPTH usage
    • Support bulk convert and get sub volume of a slice of a compressed texture
    • Add errors for too many or too litle braces in scripts Closes #701.
    • Adds KTX (ETCCodec) support for loading mipmapped textures
    • Adds support for PVRTC pixel format in KTX containers
    • clang-tidy: fix performance-faster-string-find
    • clang-tidy: fix performance-type-promotion-in-math-fn
    • Fixed crash in RenderSystem::shutdown due to the notifications being sent to already destructed render targets
    • fix several gcc8/ clang7/ MSVC warnings
    • DataStream::readLine – fix out of bounds read (ret = 0)
    • generate a deprecation warning on “lod_distances” usage
    • Image – undeprecate 2D loading overloads
    • improve ResourceGroupManager documentation
    • ParticleSystem::fastForward – use round to avoid float iteration
    • Root – skip FrameListeners that are removed during event dispatch
    • SceneManager – explicitly disable mip filtering for depth map
    • SceneManager – flag GPV_GLOBAL on setAmbientLight
    • ScriptCompiler – improve error messages
    • SubEntity – add quotes to name strings
    • MeshLodGenerator: fix wrong stream eof() usage
    • InstancedEntity: Take scale into account when culling objects.
    • [Win32] Register Ogre log files to be collected by Windows Error Reporting and eventually passed to developer (would not happen under debugger)
    • Main: StringConverter – use empty newlocale on MinGW
  • Bites
    • ApplicationContext – fix reading shader cache and log on failure
    • ApplicationContext – forward fullscreen option to SDL (#658)
  • CMake
    • allow overriding OGRE_WARNING_FLAGS
    • Dependencies – propagate CMAKE_GENERATOR_PLATFORM
    • specify minimal required SWIG version
    • update dependencies
    • warn on deprecated true/ false settings
  • EXRCodec: Fix VS2017 error C2872: ‘FLOAT’: ambiguous symbol. (#723)
  • D3D11: D3D11Mappings – map DXGI_FORMAT_R8_UNORM to PF_R8
  • D3D9: fix compilation with MinGW
  • GL*:
    • log shader compile errors output as LML_CRITICAL
    • Fix for VAO leakage in ~GLVertexArrayObject
    • removed mRenderTargets destruction from ~GLxxxRenderSystem() as it’s already done in RenderSystem::shutdown() method
    • do not force-enable shader cache
  • GL3+
    • FBOs are not shared between contexts, should be used and destroyed on the proper one
    • Fixed bugs on attempt to download non-zero miplevel; support for depth > 1
    • fix loading monolithic program from cache and log on failure
    • GL3PlusTextureBuffer: Ability to download to the non-consecutive PixelBox, useful for tiled rendering of very large images, atlasing, etc. GL RS already could do this
    • gl3w – update get_proc for APPLE from upstream
    • GLSLShader – workaround gl_ClipDistance on Intel Windows Driver
    • auto upgrade shaders to version 150 on OSX
    • Do not unbind VAO at the end of _render() to significantly increase performance of multi-pass rendering, at least on OSX
    • fixed GL_MAP_UNSYNCHRONIZED_BIT usage
    • Exclude glsl130 and glsl140 profiles unsupported in OSX Core profile
  • GL3+/ GLES2
    • enable primitive restart when available
    • GLxxxFBORenderTexture,GLxxxFBOMultiRenderTarget::getCustomAttribute() should return GL context to switch to before rendering
    • Optionally recreate FBO in GLXxxFrameBufferObject::bind(bool recreateIfNeeded) if unusable with current context
  • GLES2
    • do not automatically activate, as no other RS does this
    • If VAOs are supported: do not unbind VAO at the end of render(), do not clear scratch VAO #0 if not corrupted, explicitly bind scratch VAO #0 when required. Caching removed as it is not VAO ready, and will always miss in current usage scenario.
  • GL: drop OSX Mavericks HBL_DISCARD workaround
  • GLSupport:
    • do not attempt to set external windows full-screen
    • fix layout qualifier parsing
    • GLX – implement minBufferSize
    • GLX – support creating core 4.6 context
    • OSX – make sure contextProfile is correctly forwarded
    • Fix crash when embedding OgreOSXCocoaWindow in external window
  • RTShaderSystem: fix compile error when using double precision (#622)
  • Overlay
    • Scripts – add support for ogrescript syntax
    • warn about incompatibility with new script compiler
    • Accept opening ‘{‘ on the same line as the Overlay definition in a .overlay script
  • Samples
    • Browser – avoid double free on OSX
    • PBR – precision statement should in GLSLES only
    • python – update raw sample to deprecation-less API
    • Sample – const correctness
    • shadows.glsl enable upgrading to GLSL150
    • Terrain – use “General” resource group instead of “Terrain”
  • Tests:
    • General – do not try loading shared plugins in static build
    • Terrain – actually test something
  • Docs
    • describe how to use the fixed-function Pass options in shaders
    • Overlay/ Fontdef – improve parameter formatting
    • update css for Doxygen 1.8.13
    • update Overlays section and update GUI library references

GameDev News


Scroll to Top