From ea5e268d944cfacdf4c65aa458907fcea3aefd2b Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Wed, 23 Feb 2011 14:45:54 +0000 Subject: [PATCH 01/24] Enable CTest --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f606c0f..9f1b82a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 2.6 FATAL_ERROR) cmake_policy(VERSION 2.6) project(glm) -#Delayed for GLM 0.9.2 -#enable_testing() +enable_testing() add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-pedantic) From 06c18d08d77c71831d456b92012b48a6a66f8f46 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Wed, 2 Mar 2011 15:55:45 +0000 Subject: [PATCH 02/24] Added GLSL man page link --- glm/core/func_common.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/glm/core/func_common.hpp b/glm/core/func_common.hpp index c9cdc8ba..00f9333c 100644 --- a/glm/core/func_common.hpp +++ b/glm/core/func_common.hpp @@ -249,21 +249,27 @@ namespace glm //! Splits x into a floating-point significand in the range //! [0.5, 1.0) and an integral exponent of two, such that: //! x = significand * exp(2, exponent) + //! //! The significand is returned by the function and the //! exponent is returned in the parameter exp. For a //! floating-point value of zero, the significant and exponent //! are both zero. For a floating-point value that is an //! infinity or is not a number, the results are undefined. - //! (From GLSL 4.00.08 specification, section 8.3) + //! + //! \li GLSL frexp man page + //! \li GLSL 4.00.08 specification, section 8.3 template genType frexp(genType const & x, genIType & exp); //! Builds a floating-point number from x and the //! corresponding integral exponent of two in exp, returning: //! significand * exp(2, exponent) + //! //! If this product is too large to be represented in the //! floating-point type, the result is undefined. - //! (From GLSL 4.00.08 specification, section 8.3) + //! + //! \li GLSL ldexp man page; + //! \li GLSL 4.00.08 specification, section 8.3 template genType ldexp(genType const & x, genIType const & exp); From f4d6be20649e97852d1956dae8c28471f46113df Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Wed, 9 Mar 2011 10:29:08 +0000 Subject: [PATCH 03/24] Added new default precision API --- glm/core/type_float.hpp | 23 +++++++++++------------ glm/core/type_int.hpp | 36 +++++++++++++++++------------------- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/glm/core/type_float.hpp b/glm/core/type_float.hpp index b62c7755..a615c0f3 100644 --- a/glm/core/type_float.hpp +++ b/glm/core/type_float.hpp @@ -46,7 +46,7 @@ namespace glm //! There is no guarantee on the actual precision. //! From GLSL 1.30.8 specification //! \ingroup core_precision - typedef mediump_float_t mediump_float; + typedef mediump_float_t mediump_float; //! High precision floating-point numbers. //! There is no guarantee on the actual precision. //! From GLSL 1.30.8 specification @@ -55,18 +55,17 @@ namespace glm } //namespace precision -#ifndef GLM_PRECISION - typedef precision::mediump_float float_t; -#elif(GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT) - typedef precision::highp_float float_t; -#elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT) - typedef precision::mediump_float float_t; -#elif(GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT) - typedef precision::lowp_float float_t; +#if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef precision::mediump_float float_t; +#elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef precision::highp_float float_t; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef precision::mediump_float float_t; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) + typedef precision::lowp_float float_t; #else - # pragma message("GLM message: Precisson undefined for float numbers."); - typedef precision::mediump_float float_t; -#endif//GLM_PRECISION +# error "GLM error: multiple default precision requested for floating-point types" +#endif }//namespace type }//namespace core diff --git a/glm/core/type_int.hpp b/glm/core/type_int.hpp index 3bad8ce4..59abf8a4 100644 --- a/glm/core/type_int.hpp +++ b/glm/core/type_int.hpp @@ -54,7 +54,7 @@ namespace glm //! There is no guarantee on the actual precision. //! From GLSL 1.30.8 specification. //! \ingroup core_precision - typedef detail::mediump_int_t mediump_int; + typedef detail::mediump_int_t mediump_int; //! High precision signed integer. //! There is no guarantee on the actual precision. //! From GLSL 1.30.8 specification. @@ -75,35 +75,33 @@ namespace glm //! There is no guarantee on the actual precision. //! From GLSL 1.30.8 specification. //! \ingroup core_precision - typedef detail::highp_uint_t highp_uint; + typedef detail::highp_uint_t highp_uint; } //namespace precision -#ifndef GLM_PRECISION +#if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) typedef precision::mediump_int int_t; -#elif(GLM_PRECISION & GLM_PRECISION_HIGHP_INT) - typedef precision::highp_int int_t; -#elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT) +#elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) + typedef precision::highp_int int_t; +#elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) typedef precision::mediump_int int_t; -#elif(GLM_PRECISION & GLM_PRECISION_LOWP_INT) +#elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT)) typedef precision::lowp_int int_t; #else - typedef precision::mediump_int int_t; -# pragma message("GLM message: Precisson undefined for signed integer number."); -#endif//GLM_PRECISION +# error "GLM error: multiple default precision requested for signed interger types" +#endif -#ifndef GLM_PRECISION +#if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) typedef precision::mediump_uint uint_t; -#elif(GLM_PRECISION & GLM_PRECISION_HIGHP_UINT) - typedef precision::highp_uint uint_t; -#elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT) +#elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) + typedef precision::highp_uint uint_t; +#elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) typedef precision::mediump_uint uint_t; -#elif(GLM_PRECISION & GLM_PRECISION_LOWP_UINT) - typedef precision::lowp_uint uint_t; +#elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT)) + typedef precision::lowp_uint uint_t; #else - typedef precision::mediump_uint uint_t; -# pragma message("GLM message: Precisson undefined for unsigned integer number."); -#endif//GLM_PRECISION +# error "GLM error: multiple default precision requested for unsigned interger types" +#endif //! Unsigned integer. //! From GLSL 1.30.8 specification section 4.1.3 Integers. From e8a78c3998139feb8df2b5478e272cdeadb2dead Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 10 Mar 2011 00:45:28 +0000 Subject: [PATCH 04/24] Comment old precision API --- glm/core/setup.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index 8b335788..f411ddc0 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -403,7 +403,7 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// // Precision - +/* #define GLM_PRECISION_NONE 0x00000000 #define GLM_PRECISION_LOWP_FLOAT 0x00000011 @@ -417,5 +417,5 @@ #define GLM_PRECISION_LOWP_UINT 0x00110000 #define GLM_PRECISION_MEDIUMP_UINT 0x00120000 #define GLM_PRECISION_HIGHP_UINT 0x00130000 - +*/ #endif//glm_setup From e2f8c06e85d67838821895be33bc3f168182208c Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 11 Mar 2011 01:28:28 +0000 Subject: [PATCH 05/24] Completed new precision API --- glm/core/setup.hpp | 17 ----------------- glm/core/type.hpp | 18 +++++++++--------- glm/gtc/matrix_integer.hpp | 17 ++++++----------- glm/gtx/vec1.hpp | 18 +++++++++--------- test/core/core_type_mat4x4.cpp | 1 + 5 files changed, 25 insertions(+), 46 deletions(-) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index f411ddc0..a7098d68 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -401,21 +401,4 @@ # endif #endif//GLM_MESSAGE -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Precision -/* -#define GLM_PRECISION_NONE 0x00000000 - -#define GLM_PRECISION_LOWP_FLOAT 0x00000011 -#define GLM_PRECISION_MEDIUMP_FLOAT 0x00000012 -#define GLM_PRECISION_HIGHP_FLOAT 0x00000013 - -#define GLM_PRECISION_LOWP_INT 0x00001100 -#define GLM_PRECISION_MEDIUMP_INT 0x00001200 -#define GLM_PRECISION_HIGHP_INT 0x00001300 - -#define GLM_PRECISION_LOWP_UINT 0x00110000 -#define GLM_PRECISION_MEDIUMP_UINT 0x00120000 -#define GLM_PRECISION_HIGHP_UINT 0x00130000 -*/ #endif//glm_setup diff --git a/glm/core/type.hpp b/glm/core/type.hpp index 599163ba..0117c3c4 100644 --- a/glm/core/type.hpp +++ b/glm/core/type.hpp @@ -38,7 +38,7 @@ namespace type ////////////////////////// // Float definition -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT) +#if(defined(GLM_PRECISION_HIGHP_FLOAT)) typedef precision::highp_vec2 vec2; typedef precision::highp_vec3 vec3; typedef precision::highp_vec4 vec4; @@ -51,7 +51,7 @@ namespace type typedef precision::highp_mat4x2 mat4x2; typedef precision::highp_mat4x3 mat4x3; typedef precision::highp_mat4x4 mat4x4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT) +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) typedef precision::mediump_vec2 vec2; typedef precision::mediump_vec3 vec3; typedef precision::mediump_vec4 vec4; @@ -64,7 +64,7 @@ namespace type typedef precision::mediump_mat4x2 mat4x2; typedef precision::mediump_mat4x3 mat4x3; typedef precision::mediump_mat4x4 mat4x4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT) +#elif(defined(GLM_PRECISION_LOWP_FLOAT)) typedef precision::lowp_vec2 vec2; typedef precision::lowp_vec3 vec3; typedef precision::lowp_vec4 vec4; @@ -158,15 +158,15 @@ namespace type ////////////////////////// // Signed integer definition -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_INT) +#if(defined(GLM_PRECISION_HIGHP_INT)) typedef precision::highp_ivec2 ivec2; typedef precision::highp_ivec3 ivec3; typedef precision::highp_ivec4 ivec4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT) +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) typedef precision::mediump_ivec2 ivec2; typedef precision::mediump_ivec3 ivec3; typedef precision::mediump_ivec4 ivec4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_INT) +#elif(defined(GLM_PRECISION_LOWP_INT)) typedef precision::lowp_ivec2 ivec2; typedef precision::lowp_ivec3 ivec3; typedef precision::lowp_ivec4 ivec4; @@ -190,15 +190,15 @@ namespace type ////////////////////////// // Unsigned integer definition -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_UINT) +#if(defined(GLM_PRECISION_HIGHP_UINT)) typedef precision::highp_uvec2 uvec2; typedef precision::highp_uvec3 uvec3; typedef precision::highp_uvec4 uvec4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT) +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) typedef precision::mediump_uvec2 uvec2; typedef precision::mediump_uvec3 uvec3; typedef precision::mediump_uvec4 uvec4; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_UINT) +#elif(defined(GLM_PRECISION_LOWP_UINT)) typedef precision::lowp_uvec2 uvec2; typedef precision::lowp_uvec3 uvec3; typedef precision::lowp_uvec4 uvec4; diff --git a/glm/gtc/matrix_integer.hpp b/glm/gtc/matrix_integer.hpp index 079dafc8..cfd487b8 100644 --- a/glm/gtc/matrix_integer.hpp +++ b/glm/gtc/matrix_integer.hpp @@ -117,11 +117,10 @@ namespace glm typedef detail::tmat4x3 lowp_umat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension) typedef detail::tmat4x4 lowp_umat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) -#if(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_HIGHP_INT)) +#if(defined(GLM_PRECISION_HIGHP_INT)) typedef highp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) - typedef highp_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension) @@ -131,8 +130,7 @@ namespace glm typedef highp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) - -#elif(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_LOWP_INT)) +#elif(defined(GLM_PRECISION_LOWP_INT)) typedef lowp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) @@ -145,8 +143,7 @@ namespace glm typedef lowp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) - -#else //if(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT)) +#else //if(defined(GLM_PRECISION_MEDIUMP_INT)) typedef mediump_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef mediump_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef mediump_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) @@ -161,7 +158,7 @@ namespace glm typedef mediump_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) #endif//GLM_PRECISION -#if(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_HIGHP_UINT)) +#if(defined(GLM_PRECISION_HIGHP_UINT)) typedef highp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) @@ -174,8 +171,7 @@ namespace glm typedef highp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension) typedef highp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) - -#elif(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_LOWP_UINT)) +#elif(defined(GLM_PRECISION_LOWP_UINT)) typedef lowp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) @@ -188,8 +184,7 @@ namespace glm typedef lowp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension) typedef lowp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) - -#else //if(defined(GLM_PRECISION) && (GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT)) +#else //if(defined(GLM_PRECISION_MEDIUMP_UINT)) typedef mediump_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension) typedef mediump_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension) typedef mediump_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension) diff --git a/glm/gtx/vec1.hpp b/glm/gtx/vec1.hpp index 0da37451..df7fb1d4 100644 --- a/glm/gtx/vec1.hpp +++ b/glm/gtx/vec1.hpp @@ -80,11 +80,11 @@ namespace glm //! From GLM_GTX_vec1 extension. typedef detail::tvec1 bvec1; -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT) +#if(defined(GLM_PRECISION_HIGHP_FLOAT)) typedef precision::highp_vec1 vec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT) +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) typedef precision::mediump_vec1 vec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT) +#elif(defined(GLM_PRECISION_LOWP_FLOAT)) typedef precision::lowp_vec1 vec1; #else //! 1 component vector of floating-point numbers. @@ -92,11 +92,11 @@ namespace glm typedef precision::mediump_vec1 vec1; #endif//GLM_PRECISION -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_INT) +#if(defined(GLM_PRECISION_HIGHP_INT)) typedef precision::highp_ivec1 ivec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT) +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) typedef precision::mediump_ivec1 ivec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_INT) +#elif(defined(GLM_PRECISION_LOWP_INT)) typedef precision::lowp_ivec1 ivec1; #else //! 1 component vector of signed integer numbers. @@ -104,11 +104,11 @@ namespace glm typedef precision::mediump_ivec1 ivec1; #endif//GLM_PRECISION -#if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_UINT) +#if(defined(GLM_PRECISION_HIGHP_UINT)) typedef precision::highp_uvec1 uvec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT) +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) typedef precision::mediump_uvec1 uvec1; -#elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_UINT) +#elif(defined(GLM_PRECISION_LOWP_UINT)) typedef precision::lowp_uvec1 uvec1; #else //! 1 component vector of unsigned integer numbers. diff --git a/test/core/core_type_mat4x4.cpp b/test/core/core_type_mat4x4.cpp index 65b85346..a821b91a 100644 --- a/test/core/core_type_mat4x4.cpp +++ b/test/core/core_type_mat4x4.cpp @@ -8,6 +8,7 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// #define GLM_MESSAGES +#define GLM_PRECISION_HIGHP_FLOAT #include #include From c6b7592246cbbb138d4bb06fb67fd83aa9124c06 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 11 Mar 2011 02:09:33 +0000 Subject: [PATCH 06/24] Added files for extension tests --- test/gtc/CMakeLists.txt | 11 +++++++++-- test/gtc/gtc_half_float.cpp | 19 +++++++++++++++++++ test/gtc/gtc_matrix_access.cpp | 19 +++++++++++++++++++ ...eger-matrix.cpp => gtc_matrix_integer.cpp} | 12 +----------- test/gtc/gtc_matrix_inverse.cpp | 19 +++++++++++++++++++ test/gtc/gtc_matrix_transform.cpp | 19 +++++++++++++++++++ test/gtc/gtc_quaternion.cpp | 19 +++++++++++++++++++ test/gtc/{gtc-swizzle.cpp => gtc_swizzle.cpp} | 2 +- test/gtc/gtc_type_precision.cpp | 19 +++++++++++++++++++ test/gtc/gtc_type_ptr.cpp | 19 +++++++++++++++++++ 10 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 test/gtc/gtc_half_float.cpp create mode 100644 test/gtc/gtc_matrix_access.cpp rename test/gtc/{gtc-integer-matrix.cpp => gtc_matrix_integer.cpp} (81%) create mode 100644 test/gtc/gtc_matrix_inverse.cpp create mode 100644 test/gtc/gtc_matrix_transform.cpp create mode 100644 test/gtc/gtc_quaternion.cpp rename test/gtc/{gtc-swizzle.cpp => gtc_swizzle.cpp} (98%) create mode 100644 test/gtc/gtc_type_precision.cpp create mode 100644 test/gtc/gtc_type_ptr.cpp diff --git a/test/gtc/CMakeLists.txt b/test/gtc/CMakeLists.txt index 7dc18c00..aa58bcf0 100644 --- a/test/gtc/CMakeLists.txt +++ b/test/gtc/CMakeLists.txt @@ -1,2 +1,9 @@ -glmCreateTestGTC(gtc-integer-matrix) -glmCreateTestGTC(gtc-swizzle) \ No newline at end of file +glmCreateTestGTC(gtc_half_float) +glmCreateTestGTC(gtc_matrix_access) +glmCreateTestGTC(gtc_matrix_integer) +glmCreateTestGTC(gtc_matrix_inverse) +glmCreateTestGTC(gtc_matrix_transform) +glmCreateTestGTC(gtc_quaternion) +glmCreateTestGTC(gtc_swizzle) +glmCreateTestGTC(gtc_type_precision) +glmCreateTestGTC(gtc_type_ptr) diff --git a/test/gtc/gtc_half_float.cpp b/test/gtc/gtc_half_float.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_half_float.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc_matrix_access.cpp b/test/gtc/gtc_matrix_access.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_matrix_access.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc-integer-matrix.cpp b/test/gtc/gtc_matrix_integer.cpp similarity index 81% rename from test/gtc/gtc-integer-matrix.cpp rename to test/gtc/gtc_matrix_integer.cpp index b6b06c11..48686de0 100644 --- a/test/gtc/gtc-integer-matrix.cpp +++ b/test/gtc/gtc_matrix_integer.cpp @@ -4,26 +4,16 @@ // Created : 2010-09-16 // Updated : 2010-09-16 // Licence : This source is under MIT licence -// File : test/gtx/simd-mat4.cpp +// File : test/gtc/matrix_integer.cpp /////////////////////////////////////////////////////////////////////////////////////////////////// #define GLM_MESSAGES #include #include -int test_int_matrix() -{ - { - glm::mediump_uint A(0); - } - - return 0; -} - int main() { int Failed = 0; - Failed += test_int_matrix(); return Failed; } diff --git a/test/gtc/gtc_matrix_inverse.cpp b/test/gtc/gtc_matrix_inverse.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_matrix_inverse.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc_matrix_transform.cpp b/test/gtc/gtc_matrix_transform.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_matrix_transform.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc_quaternion.cpp b/test/gtc/gtc_quaternion.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_quaternion.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc-swizzle.cpp b/test/gtc/gtc_swizzle.cpp similarity index 98% rename from test/gtc/gtc-swizzle.cpp rename to test/gtc/gtc_swizzle.cpp index 917976d6..0371c20a 100644 --- a/test/gtc/gtc-swizzle.cpp +++ b/test/gtc/gtc_swizzle.cpp @@ -4,7 +4,7 @@ // Created : 2010-09-16 // Updated : 2010-09-16 // Licence : This source is under MIT licence -// File : test/gtx/simd-mat4.cpp +// File : test/gtc/swizzle.cpp /////////////////////////////////////////////////////////////////////////////////////////////////// #define GLM_MESSAGES diff --git a/test/gtc/gtc_type_precision.cpp b/test/gtc/gtc_type_precision.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_type_precision.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} diff --git a/test/gtc/gtc_type_ptr.cpp b/test/gtc/gtc_type_ptr.cpp new file mode 100644 index 00000000..0b9bc908 --- /dev/null +++ b/test/gtc/gtc_type_ptr.cpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2010-09-16 +// Updated : 2010-09-16 +// Licence : This source is under MIT licence +// File : test/gtc/matrix_transform.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#define GLM_MESSAGES +#include +#include + +int main() +{ + int Failed = 0; + + return Failed; +} From b918e3ea3f559499fe74647363457b5ac9899b90 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 11 Mar 2011 02:15:15 +0000 Subject: [PATCH 07/24] Fixed pick function... again --- glm/gtc/matrix_transform.inl | 2 +- test/gtc/gtc_matrix_transform.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/glm/gtc/matrix_transform.inl b/glm/gtc/matrix_transform.inl index 93d845e6..cdf546c2 100644 --- a/glm/gtc/matrix_transform.inl +++ b/glm/gtc/matrix_transform.inl @@ -359,7 +359,7 @@ namespace matrix_transform // Translate and scale the picked region to the entire window Result = translate(Result, Temp); - return scale(Result, T(viewport[2]) / delta.x, T(viewport[3]) / delta.y, T(1)); + return scale(Result, detail::tvec3(T(viewport[2]) / delta.x, T(viewport[3]) / delta.y, T(1))); } template diff --git a/test/gtc/gtc_matrix_transform.cpp b/test/gtc/gtc_matrix_transform.cpp index 0b9bc908..1ca84115 100644 --- a/test/gtc/gtc_matrix_transform.cpp +++ b/test/gtc/gtc_matrix_transform.cpp @@ -14,6 +14,8 @@ int main() { int Failed = 0; + + glm::mat4 Pick = glm::pickMatrix(glm::vec2(1, 2), glm::vec2(3, 4), glm::ivec4(0, 0, 320, 240)); return Failed; } From 9f16d9e3e78e6c6d72ec3bc09ac7964b67736a8c Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 12 Mar 2011 03:01:52 +0000 Subject: [PATCH 08/24] Fixed warning with Clang C++, ticket #71 --- glm/core/func_integer.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/core/func_integer.inl b/glm/core/func_integer.inl index a07ed249..c5e6fe25 100644 --- a/glm/core/func_integer.inl +++ b/glm/core/func_integer.inl @@ -274,7 +274,7 @@ namespace glm Result |= (1 << (sizeof(genIUType) * 8 - 1)) & (1 << (Offset + Bits - 1)); genIUType Mask = 0; - for(std::size_t Bit = Offset; Bit < Bits; ++Bit) + for(int Bit = Offset; Bit < Bits; ++Bit) Mask |= (1 << Bit); return Result | ((Mask & Value) >> Offset); @@ -339,7 +339,7 @@ namespace glm return Base; genIUType Mask = 0; - for(std::size_t Bit = Offset; Bit < Offset + Bits; ++Bit) + for(int Bit = Offset; Bit < Offset + Bits; ++Bit) Mask |= (1 << Bit); return (Base & ~Mask) | (Insert & Mask); From 0cd245d2ed45c081e3baf042a601667f5cf6aca3 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 17 Mar 2011 20:58:53 +0000 Subject: [PATCH 09/24] Getting ready GLM 0.9.1.1 release --- doc/src/data.xml | 16 ++++++++++++++++ readme.txt | 9 +++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/doc/src/data.xml b/doc/src/data.xml index b3afe3c6..d346768d 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -148,6 +148,22 @@ + + + GLM 0.9.1.1 fixes some bugs, warnings on Clang C++ and clean up a bit the code. + + + If you have uncounter any issue with GLM 0.9.1.0, please download this revision. + + + Finally, the work has started for GLM 0.9.2 if you have requests don't forget to submit them! + + + GLM 0.9.1.1 (zip) + GLM 0.9.1.1 (7z) + Submit a bug report + + Finally, GLM 0.9.1 branch is reaching the status of stable with diff --git a/readme.txt b/readme.txt index 45bce812..90418ce0 100644 --- a/readme.txt +++ b/readme.txt @@ -11,10 +11,15 @@ GLM is a header only library, there is nothing to build, just include it. #include More informations in GLM manual: -http://glm.g-truc.net/glm-manual.pdf +http://glm.g-truc.net/glm-0.9.1.pdf ================================================================================ -GLM 0.9.1.0: 2010-03-02 +GLM 0.9.1.1: 2010-03-17 +-------------------------------------------------------------------------------- +- Fixed bugs + +================================================================================ +GLM 0.9.1.0: 2010-03-03 -------------------------------------------------------------------------------- - Fixed bugs From 4f783a3d62bd0c1bd9eccf9e32b3f95b97c16017 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 18 Mar 2011 01:35:22 +0000 Subject: [PATCH 10/24] Getting GLM 0.9.1.1 release ready --- doc/src/data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/data.xml b/doc/src/data.xml index d346768d..234b7a6b 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -156,7 +156,7 @@ If you have uncounter any issue with GLM 0.9.1.0, please download this revision. - Finally, the work has started for GLM 0.9.2 if you have requests don't forget to submit them! + Finally, the work has started for GLM 0.9.2 so if you have requests don't forget to submit them! GLM 0.9.1.1 (zip) From 0ec9f1d44308efb074b17b24b137f041744583fd Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 18 Mar 2011 01:50:40 +0000 Subject: [PATCH 11/24] Fixed warning with 64 bits values --- glm/gtx/bit.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/gtx/bit.inl b/glm/gtx/bit.inl index 13b35ac7..ae746282 100644 --- a/glm/gtx/bit.inl +++ b/glm/gtx/bit.inl @@ -601,8 +601,8 @@ inline genType bitRevert(genType const & In) genType Out = 0; std::size_t BitSize = sizeof(genType) * 8; for(std::size_t i = 0; i < BitSize; ++i) - if(In & (1 << i)) - Out |= 1 << (BitSize - 1 - i); + if(In & (genType(1) << i)) + Out |= genType(1) << (BitSize - 1 - i); return Out; } From 4dad9eb81bf08b15cb2b674e1487ccb0d93e2155 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 18 Mar 2011 01:59:26 +0000 Subject: [PATCH 12/24] Added GLM 0.9.1 download link --- doc/src/data.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/src/data.xml b/doc/src/data.xml index 234b7a6b..50622cd3 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -3,7 +3,8 @@
- + + @@ -59,7 +60,8 @@
- + + From b7babdb5bc79190b851aa1bedc8e0b8d95178bfc Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 18 Mar 2011 03:06:13 +0000 Subject: [PATCH 13/24] Fixed warnings --- CMakeLists.txt | 2 +- doc/about.html | 35 +++++ doc/code.html | 189 +++++++++++++++++++++++++ doc/download.html | 133 +++++++++++++++++ doc/glm-0.9.1.pdf | Bin 0 -> 398181 bytes doc/goodies.html | 15 ++ doc/index.html | 298 +++++++++++++++++++++++++++++++++++++++ glm/gtx/vector_query.inl | 2 +- 8 files changed, 672 insertions(+), 2 deletions(-) create mode 100644 doc/about.html create mode 100644 doc/code.html create mode 100644 doc/download.html create mode 100644 doc/glm-0.9.1.pdf create mode 100644 doc/goodies.html create mode 100644 doc/index.html diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f606c0f..f0e17d99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ project(glm) #enable_testing() add_definitions(-D_CRT_SECURE_NO_WARNINGS) -add_definitions(-pedantic) +#add_definitions(-pedantic) #add_definitions(-S) #add_definitions(-s) add_definitions(-msse2) diff --git a/doc/about.html b/doc/about.html new file mode 100644 index 00000000..892ba229 --- /dev/null +++ b/doc/about.html @@ -0,0 +1,35 @@ + + +OpenGL Mathematics: About
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


+ OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software + based on the OpenGL Shading Language (GLSL) specification. +

+ GLM provides classes and functions designed and + implemented with the same naming conventions + and functionalities than GLSL so that + when a programmer knows GLSL, he knows GLM as well which makes it really easy to use. +

+ This project isn't limited by GLSL features. + An extension system, based on the GLSL extension conventions, + provides extended capabilities: matrix transformations, + quaternions, half-based types, random numbers, etc... +

+ This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library. +

+ The source code is under the MIT license. +

+ Thanks for contributing to the project by submitting tickets for bug reports and feature requests. (SF.net account required). + Any feedback is welcome at glm@g-truc.net. +

GLM is written as a platform independent library with no dependence and officially supports the following compilers:
  • GCC 3.4 and higher
  • LLVM 2.3 through GCC 4.2 front-end and higher
  • Visual C++ 2005 and higher
  • Any C++ compiler following C++98 norm
_________________

_________________

Copyright © 2005 - 2011G-Truc Creation
\ No newline at end of file diff --git a/doc/code.html b/doc/code.html new file mode 100644 index 00000000..c424b184 --- /dev/null +++ b/doc/code.html @@ -0,0 +1,189 @@ + + +OpenGL Mathematics: Code
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


Compute a triangle normal:
  • #include <glm/glm.hpp>
  • void computeNormal(triangle & Triangle) +
  • + { +
  • + glm::vec3 const & a = Triangle.Position[0]; +
  • + glm::vec3 const & b = Triangle.Position[1]; +
  • + glm::vec3 const & c = Triangle.Position[2]; +
  • + Triangle.Normal = glm::normalize(glm::cross(c - a, b - a)); +
  • + } +
Matrix transform:
  • // glm::vec3, glm::vec4, glm::ivec4, glm::mat4
  • #include <glm/glm.hpp>
  • // glm::perspective
  • #include <glm/gtc/matrix_projection.hpp>
  • // glm::translate, glm::rotate, glm::scale
  • #include <glm/gtc/matrix_transform.hpp>
  • // glm::value_ptr
  • #include <glm/gtc/type_ptr.hpp>
  • + { +
  • + glm::mat4 Projection = +
  • + glm::perspective(45.0f, 4.0f / 3.0f, 0.1f, 100.f); +
  • + glm::mat4 ViewTranslate = glm::translate( +
  • + glm::mat4(1.0f), +
  • + glm::vec3(0.0f, 0.0f, -Translate)); +
  • + glm::mat4 ViewRotateX = glm::rotate( +
  • + ViewTranslate, +
  • + Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f)); +
  • + glm::mat4 View = glm::rotate( +
  • + ViewRotateX, +
  • + Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f)); +
  • + glm::mat4 Model = glm::scale( +
  • + glm::mat4(1.0f), +
  • + glm::vec3(0.5f)); +
  • + glm::mat4 MVP = Projection * View * Model; +
  • + glUniformMatrix4fv( +
  • + LocationMVP, 1, GL_FALSE, glm::value_ptr(MVP)); +
  • + } +
Vector types:
  • #include <glm/glm.hpp>
  • #include <glm/gtx/type_precision.hpp>
  • + std::size_t const VertexCount = 4; +
  • // Float quad geometry
  • + std::size_t const PositionSizeF32 = VertexCount * sizeof(glm::vec2); +
  • + glm::vec2 const PositionDataF32[VertexCount] = +
  • + { +
  • + glm::vec2(-1.0f,-1.0f), +
  • + glm::vec2( 1.0f,-1.0f), +
  • + glm::vec2( 1.0f, 1.0f), +
  • + glm::vec2(-1.0f, 1.0f) +
  • + }; +
  • // Half-float quad geometry
  • + std::size_t const PositionSizeF16 = VertexCount * sizeof(glm::hvec2); +
  • + glm::hvec2 const PositionDataF16[VertexCount] = +
  • + { +
  • + glm::hvec2(-1.0f, -1.0f), +
  • + glm::hvec2( 1.0f, -1.0f), +
  • + glm::hvec2( 1.0f, 1.0f), +
  • + glm::hvec2(-1.0f, 1.0f) +
  • + }; +
  • // 8 bits signed integer quad geometry
  • + std::size_t const PositionSizeI8 = VertexCount * sizeof(glm::i8vec2); +
  • + glm::i8vec2 const PositionDataI8[VertexCount] = +
  • + { +
  • + glm::i8vec2(-1,-1), +
  • + glm::i8vec2( 1,-1), +
  • + glm::i8vec2( 1, 1), +
  • + glm::i8vec2(-1, 1) +
  • + }; +
  • // 32 bits signed integer quad geometry
  • + std::size_t const PositionSizeI32 = VertexCount * sizeof(glm::i32vec2); +
  • + glm::i32vec2 const PositionDataI32[VertexCount] = +
  • + { +
  • + glm::i32vec2 (-1,-1), +
  • + glm::i32vec2 ( 1,-1), +
  • + glm::i32vec2 ( 1, 1), +
  • + glm::i32vec2 (-1, 1) +
  • + }; +
Lighting:
  • #include <glm/glm.hpp>
  • #include <glm/gtx/random.hpp>
  • + glm::vec3 lighting +
  • + ( +
  • + intersection const & Intersection, +
  • + material const & Material, +
  • + light const & Light, +
  • + glm::vec3 const & View +
  • + ) +
  • + { +
  • + glm::vec3 Color = glm::vec3(0.0f); +
  • + glm::vec3 LightVertor = glm::normalize( +
  • + Light.position() - Intersection.globalPosition() + +
  • + glm::vecRand3(0.0f, Light.inaccuracy()); +
  • if(!shadow( +
  • + Intersection.globalPosition(), +
  • + Light.position(), +
  • + LightVertor)) +
  • + { +
  • float Diffuse = glm::dot(Intersection.normal(), LightVector); +
  • if(Diffuse <= 0.0f) +
  • return Color; +
  • if(Material.isDiffuse()) +
  • + Color += Light.color() * Material.diffuse() * Diffuse; +
  • if(Material.isSpecular()) +
  • + { +
  • + glm::vec3 Reflect = glm::reflect( +
  • + glm::normalize(-LightVector), +
  • + glm::normalize(Intersection.normal())); +
  • float Dot = glm::dot(Reflect, View); +
  • float Base = Dot > 0.0f ? Dot : 0.0f; +
  • float Specular = glm::pow(Base, Material.exponent()); +
  • + Color += Material.specular() * Specular; +
  • + } +
  • + } +
Copyright © 2005 - 2011G-Truc Creation
\ No newline at end of file diff --git a/doc/download.html b/doc/download.html new file mode 100644 index 00000000..64430223 --- /dev/null +++ b/doc/download.html @@ -0,0 +1,133 @@ + + +OpenGL Mathematics: Downloads
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


Current release
17/03/2010: + GLM 0.9.1.1 + (3.4 MB) +
_________________

GLM - zip files
17/03/2010: GLM 0.9.1.1 (3.4 MB) +
03/03/2010: GLM 0.9.1.0 (3.4 MB) +
13/02/2010: GLM 0.9.1.B (3.4 MB) +
13/02/2010: GLM 0.9.0.8 (3.3 MB) +
31/01/2010: GLM 0.9.1.A (3.0 MB) +
30/01/2010: GLM 0.9.0.7 (1.4 MB) +
21/12/2010: GLM 0.9.0.6 (2.2 MB) +
01/11/2010: GLM 0.9.0.5 (2.2 MB) +
04/10/2010: GLM 0.9.0.4 (1.5 MB) +
26/08/2010: GLM 0.9.0.3 (1.5 MB) +
08/07/2010: GLM 0.9.0.2 (809 KB) +
21/06/2010: GLM 0.9.0.1 (727 KB) +
25/05/2010: GLM 0.9.0.0 (1.0 MB) +
30/04/2010: GLM 0.9.B.2 (1.1 MB) +
03/04/2010: GLM 0.9.B.1 (964 KB) +
20/02/2010: GLM 0.9.A.2 (1.3 KB) +
09/02/2010: GLM 0.9.A.1 (952 KB) +
25/01/2010: GLM 0.8.4.4 (1.1 MB) +
14/11/2009: GLM 0.8.4.3 (1.1 MB) +
19/10/2009: GLM 0.8.4.2 (1.1 MB) +
03/10/2009: GLM 0.8.4.1 (1.1 MB) +
16/09/2009: GLM 0.8.4.0 (1.1 MB) +
11/08/2009: GLM 0.8.3.5 (971 KB) +
10/08/2009: GLM 0.8.3.4 (971 KB) +
25/06/2009: GLM 0.8.3.3 (971 KB) +
04/06/2009: GLM 0.8.3.2 (971 KB) +
21/05/2009: GLM 0.8.3.1 (945 KB) +
06/05/2009: GLM 0.8.3.0 (896 KB) +
01/04/2009: GLM 0.8.2.3 (961 KB) +
24/02/2009: GLM 0.8.2.2 (961 KB) +
13/02/2009: GLM 0.8.2.1 (963 KB) +
21/01/2009: GLM 0.8.2.0 (963 KB) +
30/10/2008: GLM 0.8.1.0 (938 KB) +
23/10/2008: GLM 0.8.0.0 (936 KB) +
08/08/2008: GLM 0.7.6.0 (907 KB) +
05/07/2008: GLM 0.7.5.0 (852 KB) +
06/01/2008: GLM 0.7.4.0 (859 KB) +
05/24/2008: GLM 0.7.3.0 (1.8 MB) +
04/27/2008: GLM 0.7.2.0 (1.8 MB) +
03/24/2008: GLM 0.7.1.0 (1.8 MB) +
03/22/2008: GLM 0.7.0.0 (1.8 MB) +
12/10/2007: GLM 0.6.4.0 (1.8 MB) +
11/05/2007: GLM 0.6.3.0 (1.8 MB) +
10/08/2007: GLM 0.6.2.0 (1.8 MB) +
10/07/2007: GLM 0.6.1.0 (1.8 MB) +
09/16/2007: GLM 0.6.0.0 (1.8 MB) +
02/19/2007: GLM 0.5.1.0 (2.3 MB) +
01/06/2007: GLM 0.5.0.0 (2.4 MB) +
05/22/2006: GLM 0.4.1.0 (1.6 MB) +
05/17/2006: GLM 0.4.0.0 (905 KB) +
04/22/2006: GLM 0.3.2.0 (955 KB) +
03/28/2006: GLM 0.3.1.0 (963 KB) +
02/19/2006: GLM 0.3.0.0 (945 KB) +
05/05/2005: GLM 0.2.0.0 (194 KB) +
02/21/2005: GLM 0.1.0.0 (29.2 KB) +
_________________

GLM - 7z files
17/03/2011: GLM 0.9.1.1 (2.1 MB) +
03/03/2011: GLM 0.9.1.0 (2.1 MB) +
13/02/2011: GLM 0.9.1.B (2.1 MB) +
13/02/2011: GLM 0.9.0.8 (1.9 MB) +
31/01/2011: GLM 0.9.1.A (2.0 MB) +
30/01/2011: GLM 0.9.0.7 (832 KB) +
21/12/2010: GLM 0.9.0.6 (1.6 MB) +
01/11/2010: GLM 0.9.0.5 (1.6 MB) +
04/10/2010: GLM 0.9.0.4 (1.5 MB) +
26/08/2010: GLM 0.9.0.3 (684 KB) +
08/07/2010: GLM 0.9.0.2 (651 KB) +
21/06/2010: GLM 0.9.0.1 (569 KB) +
25/05/2010: GLM 0.9.0.0 (514 KB) +
30/04/2010: GLM 0.9.B.2 (555 KB) +
03/04/2010: GLM 0.9.B.1 (414 KB) +
20/02/2010: GLM 0.9.A.2 (726 KB) +
09/02/2010: GLM 0.9.A.1 (391 KB) +
25/01/2010: GLM 0.8.4.4 (479 KB) +
14/11/2009: GLM 0.8.4.3 (443 KB) +
19/10/2009: GLM 0.8.4.2 (443 KB) +
03/10/2009: GLM 0.8.4.1 (443 KB) +
16/09/2009: GLM 0.8.4.0 (439 KB) +
11/08/2009: GLM 0.8.3.5 (405 KB) +
10/08/2009: GLM 0.8.3.4 (405 KB) +
25/06/2009: GLM 0.8.3.3 (405 KB) +
04/06/2009: GLM 0.8.3.2 (405 KB) +
21/05/2009: GLM 0.8.3.1 (399 KB) +
06/05/2009: GLM 0.8.3.0 (359 KB) +
01/04/2009: GLM 0.8.2.3 (378 KB) +
24/02/2009: GLM 0.8.2.2 (378 KB) +
13/02/2009: GLM 0.8.2.1 (381 KB) +
21/01/2009: GLM 0.8.2.0 (381 KB) +
30/10/2008: GLM 0.8.1.0 (372 KB) +
23/10/2008: GLM 0.8.0.0 (370 KB) +
08/08/2008: GLM 0.7.6.0 (387 KB) +
05/07/2008: GLM 0.7.5.0 (366 KB) +
06/01/2008: GLM 0.7.4.0 (372 KB) +
05/24/2008: GLM 0.7.3.0 (657 KB) +
04/27/2008: GLM 0.7.2.0 (646 KB) +
03/24/2008: GLM 0.7.1.0 (635 KB) +
03/22/2008: GLM 0.7.0.0 (635 KB) +
12/10/2007: GLM 0.6.4.0 (612 KB) +
11/05/2007: GLM 0.6.3.0 (633 KB) +
10/08/2007: GLM 0.6.2.0 (645 KB) +
10/07/2007: GLM 0.6.1.0 (645 KB) +
09/16/2007: GLM 0.6.0.0 (646 KB) +
02/19/2007: GLM 0.5.1.0 (807 KB) +
01/06/2007: GLM 0.5.0.0 (862 KB) +
05/22/2006: GLM 0.4.1.0 (533 KB) +
05/17/2006: GLM 0.4.0.0 (262 KB) +
_________________

Raytrace
16-09-2007: Raytrace v1.0 (exe) (766 KB) +
16-09-2007: Raytrace v1.0 (zip) (1.4 MB) +
06-01-2007: Raytrace b3.0 (exe) (751 KB) +
06-01-2007: Raytrace b3.0 (zip) (1.1 MB) +
19-02-2006: Raytrace b2.0 (exe) (1.0 MB) +
19-02-2006: Raytrace b2.0 (zip) (1.4 MB) +
05-05-2005: Raytrace b1.0 (zip) (1.3 MB) +
05-05-2005: Raytrace b1.0 (7z ) (808 KB) +
_________________

Humus's Framework
22-10-2008: AmbientApertureLighting (zip) (2.38 MB) +
_________________

Philip Rideout's Catmull-Clark Subdivision
24-01-2007: CatmullClark (zip) (605 KB) +
_________________

_________________

Copyright © 2005 - 2011G-Truc Creation
\ No newline at end of file diff --git a/doc/glm-0.9.1.pdf b/doc/glm-0.9.1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88231829fb0bacfa0fb8ef4973367b8a7e0203a6 GIT binary patch literal 398181 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

rbT6KA`q(B}_N^&Pn^2f1 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%0A`?)BAmOW#Uk`n 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 T)(J$CLCn{4boBNaQ18D0;zl_< literal 0 HcmV?d00001 diff --git a/doc/goodies.html b/doc/goodies.html new file mode 100644 index 00000000..02ce9e5e --- /dev/null +++ b/doc/goodies.html @@ -0,0 +1,15 @@ + + +OpenGL Mathematics: Goodies
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


16/10/2008
GLM Logo

Download: 2560x1600
Download: 1920x1200
Download: 1600x1000
Download: 1280x0800
Download: 1024x0640

_________________

16/10/2008
GLM Font

Download: Font (.otf)

_________________

_________________

Copyright © 2005 - 2011G-Truc Creation
\ No newline at end of file diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 00000000..61ac13eb --- /dev/null +++ b/doc/index.html @@ -0,0 +1,298 @@ + + +OpenGL Mathematics
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


+ OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software + based on the OpenGL Shading Language (GLSL) specification. +

+ GLM provides classes and functions designed and + implemented with the same naming conventions + and functionalities than GLSL so that + when a programmer knows GLSL, he knows GLM as well which makes it really easy to use. +

+ This project isn't limited by GLSL features. + An extension system, based on the GLSL extension conventions, + provides extended capabilities: matrix transformations, + quaternions, half-based types, random numbers, etc... +

+ This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library. +

GLM is written as a platform independent library with no dependence and officially supports the following compilers:
  • GCC 3.4 and higher
  • LLVM 2.3 through GCC 4.2 front-end and higher
  • Visual C++ 2005 and higher
  • Any C++ compiler following C++98 norm

+ The source code is under the MIT license. +

+ Thanks for contributing to the project by submitting tickets for bug reports and feature requests. (SF.net account required). + Any feedback is welcome at glm@g-truc.net. +


17/03/2011 - GLM 0.9.1.1 released

+ GLM 0.9.1.1 fixes some bugs, warnings on Clang C++ and clean up a bit the code. +

+ If you have uncounter any issue with GLM 0.9.1.0, please download this revision. +

+ Finally, the work has started for GLM 0.9.2 so if you have requests don't forget to submit them!

Download: GLM 0.9.1.1 (zip)
Download: GLM 0.9.1.1 (7z)
Link: Submit a bug report

03/03/2011 - GLM 0.9.1.0 final released

+ Finally, GLM 0.9.1 branch is reaching the status of stable with + GLM 0.9.1.0. +

+ From GLM 0.9.1 beta, mainly bugs has been fixed. GLM has evolved on many sides since GLM 0.9.0: + Improved documentation (manual and doxygen), better test framework, simplified setup/options/configration of GLM and new experimental SIMD API. +

+ GLM 0.9.1.0 is not 100% backward compatile with + GLM 0.9.0.8 + but mainly advanced usages should be affected by the differencies. + Have a look at the GLM manual for more information on how to use GLM 0.9.1. +

Download: GLM 0.9.1.0 (zip)
Download: GLM 0.9.1.0 (7z)
Link: GLM 0.9.1 manual
Link: Submit a bug report

13/02/2011 - GLM 0.9.0.8 and GLM 0.9.1 beta released

+ The stable version, GLM 0.9.0.8, 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. +

Download: GLM 0.9.1.B (zip)
Download: GLM 0.9.1.B (7z)
Link: GLM 0.9.1 manual
Download: GLM 0.9.0.8 (zip)
Download: GLM 0.9.0.8 (7z)
Link: GLM 0.9.0 manual
Link: Submit a bug report

31/01/2011 - GLM 0.9.1 alpha released

+ 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. +


30/01/2011 - GLM 0.9.0.7 released

+ GLM 0.9.0.7 provides 2 main changes: GLSL 4.10 packing functions but also == and != operators for every types. +

Download: GLM 0.9.0.7 (zip, 1.4 MB)
Download: GLM 0.9.0.7 (7z, 832 KB)
Link: Submit a bug report

21/12/2010 - GLM 0.9.0.6 released

+ GLM 0.9.0.6 is a new update of GLM built over GLM's user bug reports. + It mainly fixes issues regarding non-squared matrices but also provides multiple extensions corrections as well. +

+ I expect to release GLM 0.9.1.0 in Junuary but I might continue to update GLM 0.9.0.X as there are minor incompatibilities. +

Download: GLM 0.9.0.6 (zip, 2.2 MB)
Download: GLM 0.9.0.6 (7z, 1.6 MB)
Link: Submit a bug report

01/11/2010 - GLM 0.9.0.5 released

+ GLM 0.9.0.5 fixes the usual set of bugs, some allowing a better Clang support. +

Download: GLM 0.9.0.5 (zip, 2.2 MB)
Download: GLM 0.9.0.5 (7z, 1.6 MB)
Link: Submit a bug report

04/10/2010 - GLM 0.9.0.4 released

+ GLM 0.9.0.4 revision mainly fixes bugs. + It also contains a contribution by Arnaud Masserann, a autoexp.dat file to make GLM looks nicer in Visual Studio debugger. + To take advantage of this file, edit ${VISUALSTUDIO_DIRECTORY}/common7/packages/debugger/autoexp.dat file and add the content of the file util/autoexp.txt + included in GLM 0.9.0.4. +

Download: GLM 0.9.0.4 (zip, 1.5 MB)
Download: GLM 0.9.0.4 (7z, 1.2 MB)
Link: Submit a bug report

26/08/2010 - GLM 0.9.0.3 released

+ GLM 0.9.0.3 fixes major issues on non-squared matrices. +

Download: GLM 0.9.0.3 (zip, 1.2 MB)
Download: GLM 0.9.0.3 (7z, 684 KB)
Link: Submit a bug report

08/07/2010 - GLM 0.9.0.2 released

+ Second update of GLM 0.9.0 with more bug fixes. + It also contains a new extension called GLM_GTX_int_10_10_10_2 to use GLM with OpenGL and + GL_ARB_vertex_type_2_10_10_10_rev. +

Download: GLM 0.9.0.2 (zip, 809 KB)
Download: GLM 0.9.0.2 (7z, 651 KB)
Link: Submit a bug report

21/06/2010 - GLM 0.9.0.1 released

+ This revision only fixes few extensions bugs. +

Download: GLM 0.9.0.1 (zip, 714 KB)
Download: GLM 0.9.0.1 (7z, 556 KB)
Link: Submit a bug report

25/05/2010 - GLM 0.9.0.0 released

+ GLM 0.9.0.0 is finally available! It brings various API changes from GLM 0.8.4.X branch which makes it not backward compatible. + GLM is now compatible with Objective C++ to be used for MacOS X and iPhone projects. +

+ To continue making GLM a better library, 2 mailing lists have been created for users and developers. +

Download: GLM 0.9.0.0 (zip, 1.0 MB)
Download: GLM 0.9.0.0 (7z, 514 KB)
Mailing list: Register to GLM mailing list for users
Mailing list: Register to GLM mailing list for developers
Link: Submit a bug report

30/04/2010 - GLM 0.9 Beta 2 released

+ GLM 0.9 Beta 2 is available and should be the last development release of GLM 0.9. +

+ The code has been moved from a SVN to Git repository which branching efficiency allowed to remove all the experimental code from this release. +

+ Various bug fixes and manual updates have been done too. +

Download: GLM 0.9.B.2 (zip, 1.07 MB)
Download: GLM 0.9.B.2 (7z, 555 KB)

03/04/2010 - GLM 0.9 Beta 1 released

+ A new development version of GLM 0.9 is available. +

+ This version is based on GLSL 4.0 and supports the new common and integer functions. + Also a long and frequently asked feature has been implemented: inplicit conversions. + However, the rules defining implicit conversions by GLSL 4.0 are quite weaked and can't really be apply in C++. +

+ Reaching the beta status, this new features close the feature list of GLM 0.9. + Further development releases may happen before the final release. +

Download: GLM 0.9.B.1 (zip, 964 KB)
Download: GLM 0.9.B.1 (7z, 414 KB)

20/02/2010 - GLM 0.9 Alpha 2 released

+ This update fixes some problem of Alpha 1 but also brings some improvements in case of errors when using GLM to provide more relevant messages. +

Download: GLM 0.9.A.2 (zip, 1.3 MB)
Download: GLM 0.9.A.2 (7z, 726 KB)

09/02/2010 - GLM 0.9 Alpha 1 released

+ First step until a major release for GLM with this first alpha of GLM 0.9. +

+ This version brings a large internal redesign to improve the library reliability and optimized some parts. + It removed the deprecated features and API which implies that GLM 0.9 isn't backward compatible. +

+ For most users the build issues when upgrading to GLM 0.9 should be reduced especially if they follow the deprecation policy. +

+ This release is still UNSTABLE and not recommanded for commertial products. +

Download: GLM 0.9.A.1 (zip, 950 KB)
Download: GLM 0.9.A.1 (7z, 391 KB)
Link: Full changelog

25/01/2010 - GLM 0.8.4.4 released

+ This update just removes some warnings +

+ By the way, if you have questions about GLM, a good place for those is the OpenGL.org Toolkits forum. +

Download: GLM 0.8.4.4 (zip, 1.1 MB)
Download: GLM 0.8.4.4 (7z, 479 KB)
Link: Full changelog

16/11/2009 - GLM 0.8.4.3 released

+ This version fixed half scalars and half vectors arithmetics. + This is a really slow practice that should be avoid. + Half floating point value should be use only to store GPU data. + GPUs have native support for half values, not x86 CPUs. +

Download: GLM 0.8.4.3 (zip, 1.1 MB)
Download: GLM 0.8.4.3 (7z, 463 KB)
Link: Full changelog

19/10/2009 - GLM 0.8.4.2 released

+ This version is a really minor updates, fixing single issue with half float types. +

Download: GLM 0.8.4.2 (zip, 1.1 MB)
Download: GLM 0.8.4.2 (7z, 443 KB)
Link: Full changelog

05/10/2009 - GLM 0.8.4.1 released

+ This version fixes few bugs and provides an major update of the manual thanks to Damian Trebilco. +

Download: GLM 0.8.4.1 (zip, 1.1 MB)
Download: GLM 0.8.4.1 (7z, 443 KB)
Link: Full changelog

16/09/2009 - GLM 0.8.4.0 released

+ This new version mainly adds support for Visual Studio 2010 and GCC 4.4. It also provides various code optimization, bug fixes and an extension. +

Download: GLM 0.8.4.0 (zip, 1.1 MB)
Download: GLM 0.8.4.0 (7z, 439 KB)
Link: Full changelog

11/08/2009 - GLM 0.8.3.5 released

+ Fixed extension bugs introduced by core update. +

Download: GLM 0.8.3.5 (zip, 971 KB)
Download: GLM 0.8.3.5 (7z, 405 KB)
Link: Full changelog

10/08/2009 - GLM 0.8.3.4 released

+ Fixed varius bugs. Move determinant fonction to core following GLSL 1.5 specification. +

Download: GLM 0.8.3.4 (zip, 971 KB)
Download: GLM 0.8.3.4 (7z, 405 KB)
Link: Full changelog

25/06/2009 - GLM 0.8.3.3 released

+ Fixed varius bugs. +

Download: GLM 0.8.3.3 (zip, 971 KB)
Download: GLM 0.8.3.3 (7z, 405 KB)
Link: Full changelog

04/06/2009 - GLM 0.8.3.2 released

+ Add GLM_GTC_quaternion and GLM_GTC_type_precision extensions both subset of GLM_GTX_quaternion and GLM_GTX_number_precision +

Download: GLM 0.8.3.2 (zip, 971 KB)
Download: GLM 0.8.3.2 (7z, 405 KB)
Link: Full changelog

21/05/2009 - GLM 0.8.3.1 released

+ The old way to use extensions have been fixed and GLM_GTX_bit extension gets updated with more functions to manipulate bit fields. +

Download: GLM 0.8.3.1 (zip, 954 KB)
Download: GLM 0.8.3.1 (7z, 402 KB)
Link: Full changelog

06/05/2009 - GLM 0.8.3.0 released

+ This version brings to main changed: Stable extensions and a new extension system. +

+ The first stable GLM extensions are: GLM_GTC_double_float and GLM_GTC_half_float for higher and lower vectors and matrices floating point precision. GLM_GTC_matrix_operation provides determinant and inverse matrix calculation. GLM_GTC_matrix_transform allows to build scale, rotate and translate matrices and GLM_GTC_matrix_projection provides varius functions to build projection matrices. Few stable extensions yet but the number is going to grow with the next release! +

+ Both GLM 0.8.2.x extensions use method are deprecated (but still working) and replace by a new one. If you wnat to use GLM_GTC_half_float just include "glm/gtc/half_float.hpp" and it is going to be included in GLM namespace. +

+ Finally, quite some file have been renamed, using "hpp" instead of ".h". Old file have been deprecated but are still available so that GLM 0.8.3.0 is fully compatible with GLM 0.8.2.x. +

Download: GLM 0.8.3.0 (zip, 896 KB)
Download: GLM 0.8.3.0 (7z, 359 KB)
Link: Code samples page
Link: Manual
Link: Full changelog

01/04/2009 - GLM 0.8.2.3 released


13/02/2009 - GLM 0.8.2.1 released

+ A new release is available and inogurate a patch number. The goal of this patch number is to release faster fixes from bug reports. +

Download: GLM 0.8.2.1 (zip, 963 KB)
Download: GLM 0.8.2.1 (7z, 381 KB)
Link: Manual
Link: Full changelog

21/01/2009 - GLM 0.8.2 released

+ This release only fixes bugs. Left sided swizzle operators, quaternion operators, vectors access operators for the main onces. +

Download: GLM 0.8.2 (zip, 963 KB)
Download: GLM 0.8.2 (7z, 381 KB)
Link: Manual
Link: Full changelog

19/11/2008 - GLM current developments

+ Some artifacts have been added to the tracker to give a picture of what you could expect for the next releases. +

+ If you need something else you can add some artifacts to the tracker. Any comment on added entries is welcome. +

+ Furthermore, no more release of GLM 0.7.x will be done. Please upgrade to GLM 0.8.1. +

+ Finally, a pack of programmable oriented OpenGL samples using GLM is under development and planed to be release in December. +

Link: Tracker

30/10/2008 - GLM 0.8.1 released

+ GLM 0.8.1 is released. This new version mainly fixes 64 bit integers with GCC and various bugs. +

Download: GLM 0.8.1 (zip, 938 KB)
Download: GLM 0.8.1 (7z, 372 KB)
Link: GLM 0.8.1 Manual
Link: Full changelog

23/10/2008 - GLM 0.8.0 final released

+ GLM 0.8.0 is released. This new version is now based on GLSL 1.30 specification which provided new functions and precision qualifiers. +

+ Beyond this, lot of changes have been done to make GLM easier to use, easier to develop, more reliable, more conform to C++ ISO98 standard and GLSL specifications. +

+ It involves that GLM 0.8.x is not backward compatible with GLM 0.7.x... However, an application port from GLM 0.7.x to GLM 0.8.x isn't a huge work and actually for some, it won’t be work at all. +

+ On GLM core side, based on GLSL features, vector types can't be automatically cast to pointer anymore for code safety purposes. Vector constructors require a single scalar parameter of the exact number of components. +

+ On GLM extension side, the mechanism to use them has changed. The old [__]***GTX way doesn't exist anymore. Have a look on the manual for more information. +

+ Have a look on the manual and the changelog for more information. Don't forget to send your feedback and enjoy! +

Download: GLM 0.8.0 (zip, 936 KB)
Download: GLM 0.8.0 (7z, 370 KB)
Link: GLM 0.8.0 Manual
Link: Full changelog
Link: Post a comment

22/10/2008 - A Humus demo to feature GLM 0.8.0

+ Ambient aperture lighting Humus demo have been updated to use GLM as math library. +

Download: Updated demo + all sources (zip, 2.38 MB)
Download: Original demo (zip, 1.40 MB)
Link: Post a comment

18/10/2008 - Webside updated

+ As you can see the website get a little update to prepare GLM 0.8.0 final release. +

+ GLM 0.8.0 final should be release during the week. +


10/10/2008 - GLM 0.8.0 beta 3 released

+ This release fixes some bugs and add few features though extensions. The development is now based on CMake to make easier cross platform tests and project management. +

Download: GLM 0.8.0 Beta 3 (zip, 819 KB)
Download: GLM 0.8.0 Beta 3 (7z, 345 KB)
Link: Full changelog
Link: Post a comment

04/10/2008 - GLM 0.8.0 beta 2 released

+ This release mainly improves half float vectors support. By default the low precission vectors are based on float numbers not on half numbers +

+ It also provides new setup options. GLM_USE_ONLY_XYZW to disable multiple names to access to a single vector component. GLM_USE_ANONYMOUS_UNION to allow multiple component names on half vectors with Visual C++. +

+ Various bugs and updates of extensions have been done too. Final release is coming... +

Download: GLM 0.8.0 Beta 2 (zip, 798 KB)
Download: GLM 0.8.0 Beta 2 (7z, 327 KB)
Link: Full changelog
Link: Post a comment

26/09/2008 - GLM 0.8.0 beta 1 released

+ GLM have been updated to support GLSL 1.30. API documentation had significant improvements to make easier finding of GLSL functions and types. +

+ GLM 0.8.x is NOT backward compatible with GLM 0.7.x. Upgrade to GLM 0.8.x could involve build errors for the following cases: A lot of improvements have been made to increase the conformance with GLSL specification. Lot of GLSL 1.30 features were already exposed in extensions that have been deleted. The extension syntaxe based on ARB convension is no long used. +

+ Due to the number of changes GLM 0.8.0 is release as beta first. The final release is schedule for october. +

Download: GLM 0.8.0 Beta 1 (zip, 786 KB)
Download: GLM 0.8.0 Beta 1 (7z, 321 KB)
Link: Full changelog
Link: Post a comment

08/08/2008 - GLM 0.7.6 released

+ GLM 0.7.6 provides a better C++ conformance so that you can build GLM with –pedantic G++ parameter or without Visual Studio extensions. To make GLM more reliable, BOOST_STATIC_ASSERT are used according developer wishes. +

Download: GLM 0.7.6 (zip, 907 KB)
Download: GLM 0.7.6 (7z, 387 KB)
Link: Full changelog
Link: Manual

05/07/2008 - GLM 0.7.5 released

+ GLM 0.7.5 is available and introduces a new build messsage system to get information of GLM build configuration with Visual Studio. This mechanism is documented in section 6 of GLM manual. Also, GLM can be built with GCC pedantic options. +

Download: GLM 0.7.5 (zip, 852 KB)
Download: GLM 0.7.5 (7z, 366 KB)
Link: Full changelog
Link: Manual

01/06/2008 - GLM 0.7.4 released

+ GLM 0.7.4 introduces a new system to manage external dependencies. +

+ It allows developing extension using external dependencies like GLEW, Boost, etc. without making required those dependencies for GLM programmer that doesn't need those external dependent extensions. +

+ The mechanism is described into the updated manual. +

Download: GLM 0.7.4 (zip, 859 KB)
Download: GLM 0.7.4 (7z, 372 KB)
Link: Full changelog
Link: Manual

24/05/2008 - GLM 0.7.3 released

+ GLM 0.7.3 is released. This version fixes few bugs and add few extensions +

Download: GLM 0.7.3 (zip, 1.8 MB)
Download: GLM 0.7.3 (7z, 635 KB)
Link: Full changelog

27/04/2008 - GLM 0.7.2 released

+ GLM 0.7.2 is released. The documentation have been completed again and several issues handle with precompiler options. +

+ #define GLM_SWIZZLE GLM_SWIZZLE_FUNC allows to use swizzle operators with internal functions. For example, glm::vec3(1, 2, 3).zyx is replaced by glm::vec3(1, 2, 3)._zyx() with this option. +

+ #define GLM_FORCE_NO_HALF allows to include all extensions (#include "glm/glmext.h") without any support of half-precision floating-point numbers. +

+ #define GLM_AUTO_CAST GLM_DISABLE allows to disable automatic cast (eg: glLoadMatrixf(glm::mat4(1.0))) which could involve unfortunate issues in some cases. +

+ More information on these topic are available in GLM manual section 5 "Known issues". +

Download: GLM 0.7.2 (zip, 1.8 MB)
Download: GLM 0.7.2 (7z, 635 KB)
Download: Full changelog

24/03/2008 - GLM 0.7.1 released

+ GLM 0.7.1 is available under MIT license. It fixes bugs with GCC. +

Download: GLM 0.7.1 (zip, 1.8 MB)
Download: GLM 0.7.1 (7z, 635 KB)
Download: Full changelog

22/03/2008 - GLM 0.7.0 released

+ GLM 0.7.0 is available under MIT license. LGPL lisence have been discard due to an issue of use for console development. This release contains a lot better documentation based on Doxygen. Lot of bugs have been fixed and the documentation completed. Thanks to all people that has contributed thought bug reports and ideas to make this version a lot better! +

Download: GLM 0.7.0 (zip, 1.8 MB)
Download: GLM 0.7.0 (7z, 635 KB)
Download: Full changelog

10/12/2007 - GLM 0.6.4 released

+ GLM 0.6.4 is available and fixes some swizzle operator issues. +

Download: GLM 0.6.4 (zip, 1.7 MB)
Download: GLM 0.6.4 (7z, 612 KB)
Download: Full changelog

05/11/2007 - GLM 0.6.3 released

+ GLM 0.6.3 fixes accesses of matrices and a 3DSMax SDK conflict. +

Download: GLM 0.6.3 (zip, 1.8 MB)
Download: GLM 0.6.3 (7z, 633 KB)
Download: Full changelog

08/10/2007 - GLM 0.6.2 released

+ GLM 0.6.2 fixes an error on an extension. +

Download: GLM 0.6.2 (zip, 1.8 MB)
Download: GLM 0.6.2 (7z, 632 KB)
Download: Full changelog

07/10/2007 - GLM 0.6.1 released

+ GLM 0.6.1 is a minor update that fix an issue on extension namespace and add two more extensions. +

Download: GLM 0.6.1 (zip, 1.8 MB)
Download: GLM 0.6.1 (7z, 632 KB)
Download: Full changelog

16/09/2007 - GLM 0.6.0 released

+ GLM 0.6.0 is available. For this release, work focus on extensions. A new mecanisum allows to integrate GLM extensions as it is actually done for GLSL extension by vendors. Lot of new extensions have been added. +

Download: GLM 0.6.0 (zip, 1.8 MB)
Download: GLM 0.6.0 (7z, 666 KB)
Download: Raytracer v1.0 (exe)
Download: Raytracer v1.0 (zip)
Download: Full changelog

19/02/2007 - GLM 0.5.1 released

+ This release fixes some issues with swizzle operators. +

Download: GLM 0.5.1 (zip, 2.3 MB)
Download: GLM 0.5.1 (7z, 789 KB)

26/01/2007 - Cattmull Clark subdivision sample

+ A new sample is available. It's an update of Philip Rideout's Catmull Clark subdivision program that uses GLM. Released with pleasant permission of Philip Rideout. +

Download: CatmullClark sample (zip, 605 KB)

06/01/2007 - GLM 0.5.0 released

+ This release include GLSL 1.2 new feature in the core implementation. Also, it includes swizzle read and write operators and a custom options system to setup GLM. +

+ It includes some new extensions to extend GLSL features but they remain experimental. The next release should provide the first stable extensions. +

+ The GLM 0.5.0 packages contain some basic samples and some documentation. The ray tracer sample has been updated to GLM 0.5.0. Except for specific cases, especially with extensions, GLM 0.5 is backward compatible. +

+ Now, GLM development is taking advantages of SourceForge.net services: a bug tracker system and the development source code is publicly available on SF.net SVN server. +

Download: GLM 0.5.0 (zip, 2.4 MB)
Download: GLM 0.5.0 (7z, 843 KB)
Download: Raytracer b3.0 (exe, 751 KB)
Download: Raytracer b3.0 (zip, 1.1 MB)

22/05/2006 - GLM 0.4.1 released

+ A GLM update is available. It simply includes some examples for a sweet start with GLM. +

+ The examples show how to use GLM with OpenGL intermediate mode and OpenGL vertex arrays. Also, they show how to use GLM extensions to replace GLU and OpenGL function witch could slightly increase performances by decreasing the number of OpenGL states changes. +

Download: GLM 0.4.1 (zip, 1.6 MB)
Download: GLM 0.4.1 (7z, 521 KB)

17/05/2006 - GLM 0.4.0 released

+ This release introduces first GLSL 1.2 features as planed. Also, various new extensions have been added and updated. Finally, it's not anymore required to include windows.h before glm.h when windows.h is required. +

+ The number of features of GLM, including extensions, start to really increase the compilation time. That's why it's recommended to use precompiled headers. +

Download: GLM 0.4.0

23/04/2006 - Roadmap for the years

+ Version 0.4 will complete matrices and vectors operators and will add GLSL 1.2 features. First, conversions simplifications will be integrated. Then, 4 per 3 matrices and outer product will be available from extensions. The transpose function is already available from extension. +

+ Version 0.5 will integrate GLSL 1.2 features to GLM core. +

+ Version 0.6 will add swizzle operators in reading and writing. (eg: vec3 v1(1.0, 2.0, 3.0); vec3 v2 = v1.xxx; v1.zyx = v;). +


22/04/2006 - GLM 0.3.2 released

+ This release corrects two main bugs. First, a bug of the imat4 and mat4 division operators and other correct the vectors components access from texture coordinate way. +

Download: GLM 0.3.2

28/03/2006 - GLM 0.3.1 released

+ This update adds GCC 4.0 support for MacOS X and Linux and GCC 4.1 under Linux. Also, its provides some optimisations. +

+ Further release will prodive GLSL 1.2 compliances. +

Download: GLM 0.3.1

19/02/2006 - GLM 0.3 released

+ A new release of GLM is now available. It improves GLSL data type conversion and construction compliance. Also, It's adds extensions like some to manage double-precision and half-precision float numbers. Finally a Doxygen documentation has been added. +

+ This new release have been tested under Visual C++ 7.1, Visual C++ 8.0, GCC 3.2.3 et GCC 3.4.2. +

Download: GLM 0.3
Download: Raytrace
Documentation: Online documentation

06/05/2005 - GLM 0.2 released

+ A new release of GLM is now available. A few bugs have been fixed, the portability of GLSL into C++ has been improved, and new experimental extensions have been implemented, enhancing GLSL features. +

+ Project now supports quaternions, adds new features to handle colors, vectors and matrices. For example, GLM allows base colors changing, vector projected operations, and 2D/3D transforms. +

+ To demo the features of this new version, a sample program is included. It is a simple Ray Tracer supporting reflected and refracted rays, three lights types (point, directionnal and spot), two objects types (sphere, plan), using all of the GLM possibilities. +


04/05/2005 - English pages

+ The english section of this site is now available. +


21/02/2005 - GLM 0.1 is available

+ This is the first public availability of GLM. This library supports part of GLSL specifications : All vectors and matrices types, and all the operators and associated functions. +

+ For now, there isn't detailed documentation, but you can freely have a look on GLSL specifications. Consider any incoherence with GLM as an error. Keep in mind the library is included in the namespace "glm". +

+ This project is multi platform and was successfully tested under Visual C++ 7.1, MinGW 3.4 and GCC 3.4. +

Download: GLM 0.1 User Release
Download: GLM 0.1 Contributor Release
Documentation: GLSL 1.10.59 specifications

Copyright © 2005 - 2011G-Truc Creation
\ No newline at end of file diff --git a/glm/gtx/vector_query.inl b/glm/gtx/vector_query.inl index f9d02199..bbea611e 100644 --- a/glm/gtx/vector_query.inl +++ b/glm/gtx/vector_query.inl @@ -83,7 +83,7 @@ namespace vector_query typename genType::value_type const & epsilon ) { - return abs(length(v) - GLMvalType(1)) <= GLMvalType(2) * epsilon; + return abs(length(v) - typename genType::value_type(1)) <= typename genType::value_type(2) * epsilon; } template From 63738b5cfaeb17c065684d6c3526b7df1362d044 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 18 Mar 2011 15:35:55 +0000 Subject: [PATCH 14/24] Fixed compiler detection ticket 75 --- glm/core/func_common.inl | 4 ++-- glm/core/setup.hpp | 8 ++++---- glm/gtx/compatibility.inl | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/glm/core/func_common.inl b/glm/core/func_common.inl index 53990a6c..e2801089 100644 --- a/glm/core/func_common.inl +++ b/glm/core/func_common.inl @@ -1206,7 +1206,7 @@ namespace glm { GLM_STATIC_ASSERT(detail::type::is_float, "'mix' only accept floating-point inputs"); -#if(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_VC) +#if(GLM_COMPILER & GLM_COMPILER_VC) return typename genType::bool_type(_isnan(x)); #else return typename genType::bool_type(std::isnan(x)); @@ -1257,7 +1257,7 @@ namespace glm { GLM_STATIC_ASSERT(detail::type::is_float, "'isinf' only accept floating-point inputs"); -#if(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_VC) +#if(GLM_COMPILER & GLM_COMPILER_VC) return typename genType::bool_type(_fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF); #else return typename genType::bool_type(std::isinf(x)); diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index a7098d68..07f32498 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -167,13 +167,13 @@ // Report compiler detection #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)) # define GLM_MESSAGE_COMPILER_DISPLAYED -# if(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_VC) +# if(GLM_COMPILER & GLM_COMPILER_VC) # pragma message("GLM: Visual C++ compiler detected") -# elif(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_GCC) +# elif(GLM_COMPILER & GLM_COMPILER_GCC) # pragma message("GLM: GCC compiler detected") -# elif(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_BC) +# elif(GLM_COMPILER & GLM_COMPILER_BC) # pragma message("GLM: Borland compiler detected but not supported") -# elif(defined(GLM_COMPILER) && GLM_COMPILER & GLM_COMPILER_CODEWARRIOR) +# elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR) # pragma message("GLM: Codewarrior compiler detected but not supported") # else # pragma message("GLM: Compiler not detected") diff --git a/glm/gtx/compatibility.inl b/glm/gtx/compatibility.inl index 85fb81b1..ef7d57c9 100644 --- a/glm/gtx/compatibility.inl +++ b/glm/gtx/compatibility.inl @@ -16,9 +16,9 @@ template inline bool isfinite( genType const & x) { -#ifdef GLM_COMPILER_VC +#if(GLM_COMPILER & GLM_COMPILER_VC) return _finite(x); -#else//GLM_COMPILER_GCC +#else//(GLM_COMPILER & GLM_COMPILER_GCC) return std::isfinite(x); #endif } @@ -58,7 +58,7 @@ template inline bool isinf( genType const & x) { -#if(defined(GLM_COMPILER) && (GLM_COMPILER & GLM_COMPILER_VC)) +#if(GLM_COMPILER & GLM_COMPILER_VC) return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; #else return std::isinf(x); @@ -99,7 +99,7 @@ inline detail::tvec4 isinf( template inline bool isnan(genType const & x) { -#if(defined(GLM_COMPILER) && (GLM_COMPILER & GLM_COMPILER_VC)) +#if(GLM_COMPILER & GLM_COMPILER_VC) return _isnan(x); #else return std::isnan(x); From 08fe3e049b9a1a56ef15923874d189735841f0df Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Mon, 28 Mar 2011 12:33:18 +0100 Subject: [PATCH 15/24] Fixed ticket #78, typo --- glm/core/intrinsic_matrix.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/core/intrinsic_matrix.inl b/glm/core/intrinsic_matrix.inl index 26011cd1..58e6bac4 100644 --- a/glm/core/intrinsic_matrix.inl +++ b/glm/core/intrinsic_matrix.inl @@ -1064,7 +1064,7 @@ inline void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m Result[0] = TmpA4; Result[1] = TmpB4; Result[2] = TmpC4; - Result[2] = _mm_set_ps(1, 0, 0, 0); + Result[3] = _mm_set_ps(1, 0, 0, 0); //detail::tmat4x4 Result(detail::tmat4x4::null); //Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; From 24e2477fdf3e7193137f25f97cbc4829602d6ad1 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 8 Apr 2011 22:09:15 +0100 Subject: [PATCH 16/24] Create a vector from a pointer --- glm/gtc/type_ptr.hpp | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/glm/gtc/type_ptr.hpp b/glm/gtc/type_ptr.hpp index 5aeea5af..1a0d2620 100644 --- a/glm/gtc/type_ptr.hpp +++ b/glm/gtc/type_ptr.hpp @@ -294,6 +294,66 @@ namespace glm return &(mat[0].x); } + //! Build a vector from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tvec2 make_vec2(T const * const ptr) + { + detail::tvec2 Result; + memcpy(&Result[0], ptr, sizeof(detail::tvec2)); + return Result; + } + + //! Build a vector from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tvec3 make_vec3(T const * const ptr) + { + detail::tvec3 Result; + memcpy(&Result[0], ptr, sizeof(detail::tvec3)); + return Result; + } + + //! Build a vector from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tvec4 make_vec4(T const * const ptr) + { + detail::tvec4 Result; + memcpy(&Result[0], ptr, sizeof(detail::tvec4)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat2 make_mat2(T const * const ptr) + { + detail::tmat2 Result; + memcpy(&Result[0], ptr, sizeof(detail::tmat2)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat3 make_mat3(T const * const ptr) + { + detail::tmat3 Result; + memcpy(&Result[0], ptr, sizeof(detail::tmat3)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat4 make_mat4(T const * const ptr) + { + detail::tmat4 Result; + memcpy(&Result[0], ptr, sizeof(detail::tmat4)); + return Result; + } + ///@} }//namespace type_ptr From b4848bb3e170a5d7644193741894f15ebc965904 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 09:52:33 +0100 Subject: [PATCH 17/24] Fixed warnings, ticket #79 --- glm/gtx/compatibility.inl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/glm/gtx/compatibility.inl b/glm/gtx/compatibility.inl index ef7d57c9..035e50d6 100644 --- a/glm/gtx/compatibility.inl +++ b/glm/gtx/compatibility.inl @@ -19,7 +19,7 @@ inline bool isfinite( #if(GLM_COMPILER & GLM_COMPILER_VC) return _finite(x); #else//(GLM_COMPILER & GLM_COMPILER_GCC) - return std::isfinite(x); + return std::isfinite(x) != 0; #endif } @@ -61,7 +61,7 @@ inline bool isinf( #if(GLM_COMPILER & GLM_COMPILER_VC) return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; #else - return std::isinf(x); + return std::isinf(x) != 0; #endif } @@ -102,7 +102,7 @@ inline bool isnan(genType const & x) #if(GLM_COMPILER & GLM_COMPILER_VC) return _isnan(x); #else - return std::isnan(x); + return std::isnan(x) != 0; #endif } From bb99fbb2897535f583fdf660500c9cbb67f9abea Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 10:10:20 +0100 Subject: [PATCH 18/24] Completed implementation of building a GLM type from a pointer --- glm/gtc/type_ptr.hpp | 111 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 98 insertions(+), 13 deletions(-) diff --git a/glm/gtc/type_ptr.hpp b/glm/gtc/type_ptr.hpp index 1a0d2620..cd137098 100644 --- a/glm/gtc/type_ptr.hpp +++ b/glm/gtc/type_ptr.hpp @@ -300,7 +300,7 @@ namespace glm inline detail::tvec2 make_vec2(T const * const ptr) { detail::tvec2 Result; - memcpy(&Result[0], ptr, sizeof(detail::tvec2)); + memcpy(value_ptr(Result), ptr, sizeof(detail::tvec2)); return Result; } @@ -310,7 +310,7 @@ namespace glm inline detail::tvec3 make_vec3(T const * const ptr) { detail::tvec3 Result; - memcpy(&Result[0], ptr, sizeof(detail::tvec3)); + memcpy(value_ptr(Result), ptr, sizeof(detail::tvec3)); return Result; } @@ -320,28 +320,115 @@ namespace glm inline detail::tvec4 make_vec4(T const * const ptr) { detail::tvec4 Result; - memcpy(&Result[0], ptr, sizeof(detail::tvec4)); + memcpy(value_ptr(Result), ptr, sizeof(detail::tvec4)); return Result; } //! Build a matrix from a pointer. //! From GLM_GTC_type_ptr extension. template - inline detail::tmat2 make_mat2(T const * const ptr) + inline detail::tmat2x2 make_mat2x2(T const * const ptr) { - detail::tmat2 Result; - memcpy(&Result[0], ptr, sizeof(detail::tmat2)); + detail::tmat2x2 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x2)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat2x3 make_mat2x3(T const * const ptr) + { + detail::tmat2x3 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x3)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat2x4 make_mat2x4(T const * const ptr) + { + detail::tmat2x4 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x4)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat3x2 make_mat3x2(T const * const ptr) + { + detail::tmat3x2 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x2)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat3x3 make_mat3x3(T const * const ptr) + { + detail::tmat3x3 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x3)); return Result; } + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat3x4 make_mat3x4(T const * const ptr) + { + detail::tmat3x4 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x4)); + return Result; + } + + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat4x2 make_mat4x2(T const * const ptr) + { + detail::tmat4x2 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x2)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat4x3 make_mat4x3(T const * const ptr) + { + detail::tmat4x3 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x3)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat4x4 make_mat4x4(T const * const ptr) + { + detail::tmat4x4 Result; + memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x4)); + return Result; + } + + //! Build a matrix from a pointer. + //! From GLM_GTC_type_ptr extension. + template + inline detail::tmat2x2 make_mat2(T const * const ptr) + { + return make_mat2x2(Result); + } + //! Build a matrix from a pointer. //! From GLM_GTC_type_ptr extension. template inline detail::tmat3 make_mat3(T const * const ptr) { - detail::tmat3 Result; - memcpy(&Result[0], ptr, sizeof(detail::tmat3)); - return Result; + return make_mat3x3(Result); } //! Build a matrix from a pointer. @@ -349,11 +436,9 @@ namespace glm template inline detail::tmat4 make_mat4(T const * const ptr) { - detail::tmat4 Result; - memcpy(&Result[0], ptr, sizeof(detail::tmat4)); - return Result; + return make_mat4x4(Result); } - + ///@} }//namespace type_ptr From 376d40ce00275d178bacd6243146789601fb74a1 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 10:11:35 +0100 Subject: [PATCH 19/24] updated version numbers --- glm/core/setup.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index 07f32498..f1c9a253 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -13,10 +13,10 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// // Version -#define GLM_VERSION 91 +#define GLM_VERSION 92 #define GLM_VERSION_MAJOR 0 #define GLM_VERSION_MINOR 9 -#define GLM_VERSION_PATCH 1 +#define GLM_VERSION_PATCH 2 #define GLM_VERSION_REVISION 0 /////////////////////////////////////////////////////////////////////////////////////////////////// From 4a9bd5c1394e537cc4da85731fa556d5906b9e07 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 10:12:30 +0100 Subject: [PATCH 20/24] Updated revision number for release --- glm/core/setup.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index 07f32498..d8aac057 100644 --- a/glm/core/setup.hpp +++ b/glm/core/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 2 /////////////////////////////////////////////////////////////////////////////////////////////////// // Compiler From 73f66c2260753f5b5cdd1247e021131145600f77 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 10:16:18 +0100 Subject: [PATCH 21/24] Anticipate VC2011 --- glm/core/setup.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index d8aac057..2a1cd304 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -37,6 +37,7 @@ #define GLM_COMPILER_VC2005 0x01000070 #define GLM_COMPILER_VC2008 0x01000080 #define GLM_COMPILER_VC2010 0x01000090 +#define GLM_COMPILER_VC2011 0x010000A0 // GCC defines #define GLM_COMPILER_GCC 0x02000000 @@ -98,6 +99,8 @@ # define GLM_COMPILER GLM_COMPILER_VC2008 # elif _MSC_VER == 1600 # define GLM_COMPILER GLM_COMPILER_VC2010 +# elif _MSC_VER == 1700 +# define GLM_COMPILER GLM_COMPILER_VC2011 # else//_MSC_VER # define GLM_COMPILER GLM_COMPILER_VC # endif//_MSC_VER From 653eef73577b416482f9215c2bcf12dd4837cf90 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 10:58:50 +0100 Subject: [PATCH 22/24] Updated test --- test/gtc/gtc_type_ptr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/gtc/gtc_type_ptr.cpp b/test/gtc/gtc_type_ptr.cpp index 0b9bc908..74efc2d0 100644 --- a/test/gtc/gtc_type_ptr.cpp +++ b/test/gtc/gtc_type_ptr.cpp @@ -4,12 +4,12 @@ // Created : 2010-09-16 // Updated : 2010-09-16 // Licence : This source is under MIT licence -// File : test/gtc/matrix_transform.cpp +// File : test/gtc/type_ptr.cpp /////////////////////////////////////////////////////////////////////////////////////////////////// #define GLM_MESSAGES #include -#include +#include int main() { From 3ef449763504f790c6313e3b1804660446de3414 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 11:01:42 +0100 Subject: [PATCH 23/24] Updated test --- test/gtc/gtc_type_ptr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/gtc/gtc_type_ptr.cpp b/test/gtc/gtc_type_ptr.cpp index 0b9bc908..e80021d7 100644 --- a/test/gtc/gtc_type_ptr.cpp +++ b/test/gtc/gtc_type_ptr.cpp @@ -11,9 +11,17 @@ #include #include +bool test_make_pointer() +{ + float ArrayA[] = {1, 2, 3, 4}; + glm::vec4 Vec4A = glm::make_vec4(ArrayA); +} + int main() { int Failed = 0; + + Failed += test_make_pointer() ? 0 : 1; return Failed; } From 0089077931eab1aa9f41854f759223896ff4747d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 9 Apr 2011 11:12:39 +0100 Subject: [PATCH 24/24] Completed make_xxx test --- test/gtc/gtc_type_ptr.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/test/gtc/gtc_type_ptr.cpp b/test/gtc/gtc_type_ptr.cpp index 56851cec..a6c59760 100644 --- a/test/gtc/gtc_type_ptr.cpp +++ b/test/gtc/gtc_type_ptr.cpp @@ -13,8 +13,33 @@ bool test_make_pointer() { - float ArrayA[] = {1, 2, 3, 4}; + float ArrayA[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + int ArrayB[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + bool ArrayC[] = {true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false}; + + glm::vec2 Vec2A = glm::make_vec2(ArrayA); + glm::vec3 Vec3A = glm::make_vec3(ArrayA); glm::vec4 Vec4A = glm::make_vec4(ArrayA); + + glm::ivec2 Vec2B = glm::make_vec2(ArrayB); + glm::ivec3 Vec3B = glm::make_vec3(ArrayB); + glm::ivec4 Vec4B = glm::make_vec4(ArrayB); + + glm::bvec2 Vec2C = glm::make_vec2(ArrayC); + glm::bvec3 Vec3C = glm::make_vec3(ArrayC); + glm::bvec4 Vec4C = glm::make_vec4(ArrayC); + + glm::mat2x2 Mat2x2A = glm::make_mat2x2(ArrayA); + glm::mat2x3 Mat2x3A = glm::make_mat2x3(ArrayA); + glm::mat2x4 Mat2x4A = glm::make_mat2x4(ArrayA); + glm::mat3x2 Mat3x2A = glm::make_mat3x2(ArrayA); + glm::mat3x3 Mat3x3A = glm::make_mat3x3(ArrayA); + glm::mat3x4 Mat3x4A = glm::make_mat3x4(ArrayA); + glm::mat4x2 Mat4x2A = glm::make_mat4x2(ArrayA); + glm::mat4x3 Mat4x3A = glm::make_mat4x3(ArrayA); + glm::mat4x4 Mat4x4A = glm::make_mat4x4(ArrayA); + + return true; } int main()