We’re glad to announce the second maintenance release of OGRE 1.6 (codename: Shoggoth), version 1.6.2.

There are lots of bugfixes as usual in this interface-stable release, see the detail after the jump for information, but in addition this is the first release which officially comes with the static link LGPL exclusion, so that you can static link under the same conditions as you would have dynamically linked previous versions, if you choose to. As usual, you can get the release from our download page.

Changes since v1.6.1:

  • LGPL static link exclusion clause added to our official license terms. Static linking terms are now the same as dynamic linking.
  • OpenGL:
    • Safety check before using mCurrentContext
    • Win32: Correctly restore display frequency on Win32/GL, was getting overridden after restoreConfig
    • Linux: CurrentGLContext option for GLX rendersystem should not be creating a new context.
    • ATI: Workaround for corruptions in most recent drivers with sub-buffer updates with glMapBuffer
    • ATI: fix crashes on some older cards when trying to use point sprites
    • Add support for more graceful downgrading on pre-GL 1.2 cards and other underpowered systems (Mesa should now work)
  • D3D9:
    • Remove flushUpTo() call in CompositorChain::postTargetOperation; this happens after the begin/end of the scene and actually gets ignored anyway, D3D9 would bitch about this in debug mode
    • Fix a potential issue with switching from fullscreen to windowed if requested size overflows
    • Fix copyContentsToMemory in D3D9 for secondary windows
    • Allow reference device software fallback for low-end machines
  • Win32: standardise the use of NOMINMAX and WIN32_LEAN_AND_MEAN
  • Linux: Fix aclocal warnings in configure.in
  • Linux: Deal with Xlib.h’s definition of ‘Status’ which clashes with ResourceGroupManager header
  • OS X: OgreMemoryNedMalloc.h correctly made ‘public’ in the Copy Headers task
  • GCC: Make the PCZ plugin use the gcc visibility options like other libraries
  • VC7.1: Fix for threaded build, VC7.1 doesn’t have intrin.h
  • VC9: Added missing ‘user’ files for VC9
  • Change to the timing of dirtying a Pass hash before a material is loaded to better support threaded material population.
  • Fix small potential memory leak when explicitly constructing a SharedPtr with a null pointer
  • Fix a shadow map indexing bug when using pass iteration for a specific light type and multiple light types all with shadows
  • Fix OverlayManager::getViewportAspectRatio, was inverted
  • Return float from AutoParamDataSource::getLightCastsShadows to match declared type
  • Make methods of TerrainZone virtual
  • Fix off-by-one error in StaticGeometry::GeometryBucket::assign when checking number of vertices.
  • Make sure aspect ratio of camera is updated when camera newly assigned to a viewport
  • Propagate alpha for material and technique setAmbient and setSelfIllumination
  • Fixed ManualObject’s support for 4D texture coordinates
  • Fixed ManualObject transparent sorting behaviour when using ‘keep ordering’ mode
  • Fix a crash when a compositor chain doesn’t have a compositor attached to it
  • Default material scheme when compiling compositors, so that quad materials get assigned correctly
  • Fix bug with StaticGeometry when using stencil shadows and LOD.
  • Fix the GLSL ‘attach’ directive not allowing multiple attachments in one line.
  • SceneManager::SceneMgrQueuedRenderableVisitor should be public, needed for SceneManager::setQueuedRenderableVisitor
  • Entity::_initialise now uses needUpdate() rather than updateBounds() to update parent node so that it will work on deeper hierarchies with SceneManagers which require parent bounds to also be updated (or processed some other way).
  • Fixed OpenEXR plugin build
  • Fixed crashes with certain Overlay destruction orders.
  • Documentation updates