13/02/2011 GLM and GLM 0.9.1 beta released

The stable version, GLM, adds the operator * for quaternion products and deprecated the cross function previously used for the same purpose. Also, it clarifies that GLM is a header only library when a user try to build it. Once more, there is nothing to build.

The development version, GLM 0.9.1 beta, provides an improved API documentation by Alfonse Reinheart, author of a great OpenGL tutorial which uses GLM. This version also improves the SIMD extensions and it fixes many bugs.

The SIMD extensions add severals functions based on fast SQRT calculations as described by Elan Ruskin. The function fastSqrt is based on _mm_rsqrt_ps instruction and rule x / sqrt(x) = sqrt(x). This instruction is an approximation and remains quite innacurate but it is really fast. However, as Elan demonstrated it, with one step of Newton-Raphson iteration the precision becomes much higher and the performance remains high. This is the base of the sqrt implementation for simdVec4 as the precision is almost indistinguishable from the one of _mm_sqrt_ps used in niceSqrt.

  • glm::simdVec4 fastSqrt(glm::simdVec4 const & x);
  • glm::simdVec4 sqrt(glm::simdVec4 const & x);
  • glm::simdVec4 niceSqrt(glm::simdVec4 const & x);
OpenGL Samples Pack released >
< Impact of 32 bits vs 64 bits and link time optimizations
Copyright Christophe Riccio 2002-2016 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5