It's been almost 3 months since the last maintenance release of the Azathoth branch, so here we are again with a bugfixing release for those on the stable version. You can, as always, download everything from the Downloads Page, in this case the source release, SDKs, 3DS exporter and Blender exporter have been updated. Note that the latter now requires Blender 2.4. Full details of all the changes (non-interface breaking, naturally) in this release are available by clicking the 'Read more…' link below.

This is almost certain to be the last Azathoth release before Dagon (the development version of OGRE) is released. The todo list for Dagon is now almost empty and the code very stable. Expect to see a release candidate very soon.


Changes since 1.0.6:

  • D3D9:
    • Fixed device leak when destroying primary window manually rather than via shutdown()
    • Potential D3D9 leaks during fatal error conditions fixed
    • Fix potential leak when using DDS textures if premature shutdown encountered
    • Fix another trailing state issue on device lost/restore, clear all texture units and vertex streams before resetting
    • Don't create any mipmaps when building temp surface in blitToMemory
    • Fixed a compile bug in double-precision mode
    • Floating point texture support now correctly logged
    • Fix vs_2_x/a, ps_2_x/a/b detection
  • D3D7:
    • Fix crash when D3D7 window is minimised
  • GL:
    • Fix potential performance problems with NPOT pbuffers
  • Terrain plugin:
    • Light list finding should be specialised for each terrain tile. 
    • LOD calculation should use minimum distance between terrain tile bounding box and camera position
    • Throw exception when registering a page source for a type which is already present
  • Nodes:
    • Fixed
      a bug in SceneNode::setDirection with a local natural facing of
      something other than +/-Z, and when dealing with different spaces
    • TagPoint should always reflect parent entity scale changes
    • Fixed crash in SceneManager::destroySceneNode when using auto tracking
  • Shadows:
    • Fix rendering of texture shadows not respecting getShadowsEnabled() flag on queue group
    • Alpha-blended materials can now cast texture shadows accurately
    • Correctly render stencil shadows when oblique depth projection in use (use zfail all the time)
    • Free up shadow textures immediately when texture shadows no longer in use to save video memory
  • Materials:
    • Fix incorrect output serialisation of 'modulate' and 'colour_blend' scene blend factors from memory to .material files
    • Fix splitting of passes when too many texture units used
    • Bugfix
      for auto gpu program parameters:'view_direction', 'view_side_vector'
      and 'view_up_vector' should be in world space. Also viewport size
      params were using render target details instead of viewport
  • Particles & billboards:
    • Fix billboard orientation when using camera reflection
    • AreaEmitter should have a different default 'up' to the default 'direction'
    • Fix bug in particle scale affector – should scale from default dimensions in the first instance
  • Workaround to avoid std::iostream memory leaks in VC8 (MS bug – until VC8 SP1 arrives)
  • Fix Font::StrBBox for strings containing spaces
  • Memory manager tweaks to improve shutdown performance when using large containers in debug
  • Quaternion now outputs to stream with same element ordering as constructor
  • Accessor methods added to retrieve current sky settings on SceneManager
  • Add automatic fallback for Vector3.getRotationTo if 180 degree rotation is requested
  • Cleaner
    Implementation of occlusion query delete mechanism. Added
    destroyHardwareOcclusionQuery and made RenderSystem clean up any
    remaining queries at shutdown just like RenderTarget
  • Eliminate
    potential temp blended buffer checkout bug: occuring when call
    TempBlendedBufferInfo::checkoutTempCopies more than once in same frame.
  • Fixed rendersystems setClipPlanes sending of user clip plane equations to device (d was inverted)
  • Fix bug in edge list builder when indexStart is used
  • Fix bug where Math::ASin returned the wrong value for +1.0 and -1.0
  • Fix bug in border panel; uvs for centre panel should be updated at the same time as the border
  • XSI exporter significant speed improvements and better progress reporting
  • Timer more consistent after performance counter hiccups, and will run continuously over the 49.7 days boundary
  • Move zziplib headers so external apps are no longer dependent
  • Update controllers before updating scene animations in case users use controllers to manipulate scene animation
  • Avoid multi-results of same object from OctreePlaneBoundedVolumeListSceneQuery
  • Default
    mMaterialName as well as mpMaterial in SubEntity so they are consistent
    (issue with StaticGeometry if no material set) 
  • Fix infinite loop when RenderQueueListener tried to skip a queue
  • Fix crash when creating / destroying Root more than once
  • 3D Studio Max exporter now supports Max 8
  • New barrel and palette models added
  • Many compiler warnings squashed
  • Documentation clarifications