It’s maintenance release time again everyone, this time a pretty significant bugfix / enhancement release for everyone on the stable Hastur version of Ogre. As is usual for maintenance releases, there are no interface breaking changes, but I’m sure that you’ll like the enhancements we managed to squeeze in as well as the bugfixes.

To see the full list of changes in this release, click on the ‘Full Story…’ link. The new release archives can be found in the Downloads > Source Releases > Stable Releases and Downloads > Tools areas. Enjoy!

Changes:

  • Stencil shadows:
    • Runtime performance improvements
    • Edge list construction can now deal with non-manifold meshes, and is faster. You can re-calculate edge lists on your affected .mesh files by using OgreXmlConverter to convert to XML and back.
    • Shadow culling fixes including in reflected camera scenarios
  • TerrainSceneManager: Fixed crash when you clear the terrain scene but don’t call setWorldGeometry again
  • Direct3D textures: Prefer D3DFMT_X8R8G8B8 over D3DFMT_R8G8B8 for texture formats, and disable auto mipmap generation when mipmaps == 0
  • BillboardSet: avoid double-free crashes under certain calling orders.
  • Camera:
    • Better safety checks for bad parameters to setDirection
    • Camera::getCameraToViewportRay now works for orthographic projection
  • GL:
    • Added virtual keyword to GLSupport::setExternalWindowHandle
    • Fix a couple of potential consistency issues in fixed-function lighting states
  • Scene Queries:
    • Query mask flags for world geometry made more explicit
    • Boolean result from query listeners consistently respected
    • Added specialised BspRaySceneQuery for fast BSP ray results
    • Don’t match objects which are attached to detached subtrees of the scene graph
  • Font: several fixes to make on-screen fonts much crisper
  • Windows: requested size now translated to client area size in windowed mode (except if full window size exceeds the desktop size)
  • Material scripts: automatic GPU program parameter ‘projection_matrix’ now parsed correctly
  • VC7.1+ STL: Avoid long shutdown in debug mode
  • VC6: Added /Zm option to VC6 to avoid compiler out of heap space errors
  • Blender exporter:
    • Fixed calculation of initial bone rotation.
    • Restored possibility to export an armature as mesh.
    • Option to export in objects local coordinates.
    • Allow image textures to be assigned via a material texture channel.
    • Preliminary bump map support.
    • Option to run OgreXMLConverter automatically
  • 3DS exporter:
    • Export vertex alpha export as the a component of the vertex color
    • Fixed a couple of bugs in UV export (inc multi-UV export)
    • Fix a bug for IK export
    • Speed up the mesh export process. No very easy to notice for small objects but great speed improvements for very big objects.
    • Any kind of objects can now be part of the hierarchy if they are part of the Skin/Physique modifier.
    • Log a warning when there is a vertex with more than 4 bones assigned.
    • Scale of 0.0 is no longer possible. 0.0 is replaced by 1.0 when used.
    • Animation names are properly exported when using multiple animations.
  • Memory manager: Fix use of memory macros without namespace Ogre
  • Manual updates:
    • Mention optional alpha components to ambient / diffuse / specular / emissive
    • Documented additional community-contributed particle emitters / affectors