From e6cff263e5dea0e95e9c05abddb705ad83971580 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Mon, 31 Jan 2011 23:39:08 +0000 Subject: [PATCH 1/2] Preparing GLM 0.9.1.A release --- doc/src/data.xml | 38 ++++++++++++++++++++++++++++++++++++++ glm/setup.hpp | 2 +- readme.txt | 16 ++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/doc/src/data.xml b/doc/src/data.xml index 13e6969b..4af49bc4 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -3,6 +3,7 @@
+ @@ -55,6 +56,7 @@
+ @@ -1538,6 +1540,42 @@ + + + This new version of GLM is bringing a lot of improvements and maybe too many considering the development time it has required: + API exposing SIMD implementation but also some new, safe and feature complet swizzling functions and a new setup API. + All this is described in the largely updated GLM manual. + + + With the new setup system, GLM detects automatically the compiler settings to adapt its implementation to the flag set at build time. + It will automatically enable C++0x features, SSE optimizations and the display configuration informations at build-time. + The automatic setup can be overdrive by the GLM user. + + + The SIMD API maintly focus on vec4 and mat4 implementations that are embodied by the types simdVec4 and simdMat4. + The implemention cover most of the common functions, the geometry functions and the matrix functions as described in the GLSL specifications. + Because it is hight inefficient to access individual components of a SIMD register, the simdVec4 doesn't allow it. + To reflect this constraint, the simdVec4 has to be converted to vec4 first which would be effectively handle + by the compiler thank to the function simdCast. + Furthermore, GLM provides some specials functions like simdDot4 that returns a simdVec4 instead of a float + with the duplicated dot product value in each components + and ensure that no unnecessary component manipulations are performed (typically __m128 to float + and float to __m128). + This implementation can probably be improve in many ways so don't hesitate to send me some feedbacks. + + + + GLM 0.9.1 is not 100% backward compatible with GLM 0.9.0 but mostly advanced usages should be concerned by this compatibility issues. + + + + GLM 0.9.1.A (zip, 2.7 MB) + GLM 0.9.1.A (7z, 1.7 MB) + + + + + GLM 0.9.0.7 provides 2 main changes: GLSL 4.10 packing functions but also == and != operators for every types. diff --git a/glm/setup.hpp b/glm/setup.hpp index 950b58cc..bc2578e6 100644 --- a/glm/setup.hpp +++ b/glm/setup.hpp @@ -17,7 +17,7 @@ #define GLM_VERSION_MAJOR 0 #define GLM_VERSION_MINOR 9 #define GLM_VERSION_PATCH 1 -#define GLM_VERSION_REVISION 0 +#define GLM_VERSION_REVISION A /////////////////////////////////////////////////////////////////////////////////////////////////// // Compiler diff --git a/readme.txt b/readme.txt index 785b30ac..cca9974b 100644 --- a/readme.txt +++ b/readme.txt @@ -4,6 +4,22 @@ G-Truc Creation www.g-truc.net glm@g-truc.net +============================= +GLM 0.9.1.A: 2010-01-31 +----------------------------- +- Added SIMD support +- Added new swizzle functions +- Improved static assert error message with C++0x static_assert +- New setup system +- Reduced branching +- Fixed trunc implementation + +============================= +GLM 0.9.0.7: 2010-01-30 +----------------------------- +- Added == and != operator for *mat* and *vec* +- Added GLSL 4.10 packing functions + ============================= GLM 0.9.0.6: 2010-12-21 ----------------------------- From d92ffaa9efc04aca565ed79e8d161754b5b7dc6a Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Tue, 1 Feb 2011 00:24:58 +0000 Subject: [PATCH 2/2] Updated post --- doc/src/data.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/data.xml b/doc/src/data.xml index 4af49bc4..7b66dbc4 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -3,7 +3,7 @@
- + @@ -56,7 +56,7 @@
- +