{mosimage}We’re happy to announce another maintenance release for the current stable branch, v1.4 [Eihort]. The source releases and Visual Studio SDKs have been updated, and bisco has also made available updated Maya exporters for Windows, thanks to him for that. Other SDKs will follow as and when they become available. Please note that we are still looking for a new maintainer for the MingW platform, if you are a MingW user we’d be grateful if you could step forward.

Details of the changes in this release are available in the detail of this posting.

Changes since 1.4.1:

  • GL:
    • Restore old GL context instead of setting it to null during initialisation and context cloning, helps with systems managing their own contexts
    • When uploading from scratch to real buffer, should only discard whole buffer if the entire buffer was locked.
    • Scratch buffer optimisations temporarily disabled in Linux and OSX since they appear to still be having issues with them, Win32 is fine.
    • Support arrays of sampler uniforms in GLSL
  • D3D9: Use D3DPOOL_SYSTEMMEM for temp surface when going down the GetRenderTargetData path since that’s a requirement and complained on some drivers.
  • Fix a versioning issue on Linux, bumpversion script was missing AM_INIT_AUTOMAKE due to typo
  • Fix texture clamping on non-integrated custom shadow receiver materials
  • Fix Vector3::perpendicular for base vectors near UNIT_X
  • Rewrite Frustum::projectSphere so it is more accurate, now correctly solves quadratic instead of using inaccurate shortcut.
  • Fix bug in XML converter when reading poses that used ‘mesh’ as a target
  • Fix MaterialSerializer exporting of mipmap count
  • XML mesh conversion now handles incorrect XML vertex/face count cleanly instead of overrunning
  • Fix multiple index buffer locking bugs in StaticGeometry and InstancedGeometry, was causing underrun buffer corruptions in GL
  • Cope cleanly with GpuProgramParameters::mNamedConstants not having been initialised, mostly likely because of a compile error
  • Add the ability to switch between fullscreen mode and windowed mode on the fly, and to switch fullscreen modes, without recreating a window. Windows only implementation for the moment, still waiting for GLX and OSX versions.
  • Fix off-by-one error when writing a GLX window contents to disk, had already been fixed in Win32Window.
  • Fix some light_direction_object/view_space GPU parameters. Should make sure we extract 3×3 matrix to avoid accidentally factoring in translations. Also standardise the _array versions of the same.
  • Support up to 16 textures properly in programmable pipeline, instead of maxing out at fixed-function limits.
  • Fix a crash caused by a Resource being created during bulk-loading of a resource group, with a different group (e.g. the autodetect group).
  • Water materials that use scene_blend should have depth_write off
  • Compositor fixes:
    • Detect when visibility mask is varied on the viewport for the implied ‘original scene’ and recompile
    • Assign the new values of vis mask and background settings to the compositor to stop repeated compilations after one change detected
    • Fix compositor demo closing when you ALT-TAB away from it
  • Fix use of GPU parameters in SceneManager::manualRender