OpenGL Mathematics
Changelog

2008-04-27 :
- GLM 0.7.2 released.

2008-04-26 :
- Added GLM_AUTO_CAST setup option.
- Updated documentation

2008-04-23 :
- Updated GLM_GTX_inverse, added affine inverse functions for fast matrix inverts.
- Updated overall documentation
- Added trait typedef to all GLM data types

2008-04-22 :
- Updated GLM_GTX_compatibility documentation.
- Fixed GLM_GTX_random, gauss functions didn't build.

2008-04-13 :
- Added few SSE code.
- Fixed matrix projections.

2008-04-07 :
- Added GLM_SWIZZLE_FUNC swizzle option.

2008-04-06 :
- Updated GLM_GTX_euler_angles documentation.

2008-03-26 :
- Updated documentation.

2008-03-24 :
- Fixed GLM_GTX_associated_min_max build on GCC.
- Updated GLM_GTX_matrix_projection.
- GLM 0.7.1 released.

2008-03-22 :
- GLM 0.7.0 released.

2008-03-20 :
- Updated manual.

2008-03-16 :
- Updated documentation.
- Added GLM_GTX_associated_min_max extension.

2008-03-15 :
- Fixed not function with GCC.

2008-03-12 :
- Fixed interger pow function for the case of a null power.

2008-02-20 :
- Fixed mat4x2 and mat4x3 GCC build.
- Updated documentation.
- Reseted glmsetup.h to default values.

2008-02-17 :
- Fixed missing xvec4 constructor with bool argument definition.
- Fixed namespace collision in quaternion inverse function.
- Fixed swizzle operators involved in operations.
- Change license from GNU LGPL to MIT.

2008-02-16 :
- Fixed missing xvec4 ++ and -- operator definition.

2008-01-05 :
- Move some implementation details into detail namespace.

2008-01-04 :
- Fixed cast between matrices of different sizes.

2008-01-02 :
- Fixed matNxM type cast to other matNxM type.

2007-12-15 :
- Fixed GLM_GTX_matrix_projection extension.

2007-12-13 :
- GLM 0.6.4 released.

2007-12-09 :
- Fixed swizzle operators.

2007-11-21 :
- Fixed GLM_GTX_matrix_selection extension.

2007-11-14 :
- Updated GLM_GTX_color_space extension. Added luminosity function.

2007-11-05 :
- GLM 0.6.3 released.

2007-10-31 :
- Fixed 3DSMax SDK conflict with GLM.

2007-10-29 :
- Updated GLM_GTX_quaternion. Added sqrt function.

2007-10-28 :
- Updated GLM_GTX_random extension.
- Updated GLM_GTX_half extension.

2007-10-21 :
- Fixed matrices operator const T*() const.

2007-10-08 :
- Fixed GLM_GTX_normalize_dot extension.
- GLM 0.6.2 released.

2007-10-07 :
- GLM 0.6.1 released.

2007-10-02 :
- Added GLM_GTX_normalize_dot extension: Faster way to normalize parameters before a dot product

2007-09-22 :
- Fixed namespace error on GLM_GTX_matx extension

2007-09-21 :
- Added GLM_GTX_flexible_mix extension: mix function can take different types parameters

2007-09-16 :
- Updated documentation.
- GLM 0.6.0 released.

2007-09-15 :
- Added GLM_SINGLE_COMP_NAME to fixed multiple component names on half types with GCC.

2007-09-10 :
- Added #define GLM_GTX_INCLUDED to automatically include all GTX extensions in the language.

2007-09-09 :
- Updated extensions documentation.
- Updated GLM_GTX_quaternion extension: squad, euler angles conversions

2007-09-06 :
- Updated GLM_GTX_compatibility extension: Added isfinite isinf, and isnan.

2007-08-26 :
- Updated GLM_GTX_random extension: Gauss distribution, spherical distribution, linear distribution.

2007-08-21 :
- Fixed namespace issues with Visual Studio 8.0 SP1.

2007-08-20 :
- Updated GLM_GTX_gpu_shader4 extension: Add bit operators.
- Updated GLM_GTX_integer extension: Delete some code duplications.
- Added GLM_GTX_unsigned_int extension.

2007-08-19 :
- Fixed namespace issues with Visual Studio 8.0 SP1.
- Added new namespace management for extensions.
- Added automatic compiler ditection, no more compiler setup.

2007-07-31 :
- Updated GLM_GTX_number_precision extension.
- Updated usertype.dat for Visual Studio.
- Updated GLM_GTX_random extension.

2007-06-21 :
- Added GLM_GTX_color_cast extension.
- Updated GLM_GTX_quaternion extension.

2007-05-22 :
- Added GLM_GTX_verbose_operator extension.

2007-05-21 :
- Added GLM_GTX_component_wise extension.

2007-05-10 :
- Added GLM_GTX_number_precision extension.

2007-04-16 :
- Updated GLM_GTX_bit extension.

2007-04-10 :
- Updated GLM_GTX_bit extension.

2007-04-04 :
- Updated GLM_GTX_fast_square_root extension.
- Updated GLM_GTX_fast_trigonometry extension.
- Updated GLM_GTX_fast_exponential extension.
- Added GLM_GTX_mul extension.
- Fixed GLM_GTX_epsilon extension.

2007-04-03 :
- Added GLM_GTX_mixed_product extension.
- Added GLM_GTX_intersect extension.
- Updated GLM_GTX_matrix_access extension.

2007-03-20 :
- Added bits operators in comment for vec2, vec3 and vec4.
- Fixed friendly conformance to GLM_GTX_double.

2007-03-18 :
- Fixed size_type errors.

2007-03-14 :
- Updated GLM_GTX_quaternion extension.
- Added GLM_GTX_bit extension.
- Added value_type, size_type and value_size typedefs and value to all types.

2007-03-09 :
- Updated GLM_GTX_compatibility extension.
- Fixed GLM_GTX_color_space extension.

2007-03-06 :
- Added GLM_GTX_polar_coordinates extension.

2007-03-05 :
- Added GLM_GTX_vector_query extension.
- Added GLM_GTX_matrix_query extension.

2007-03-01 :
- Fixed square matrices division operators.

2007-02-28 :
- Added GLM_GTX_mat_mn extension.

2007-02-22 :
- Updated GLM_GTX_color_space extension.

2007-02-21 :
- Added GLM_GTX_vecx extension.
- Added GLM_GTX_matx extension.

2007-02-19 :
- GLM 0.5.1 released.

2006-02-08 :
- Updated Visual Studio projects.

2006-02-01 :
- Updated GLM_GTX_compatibility extension.

2006-01-26 :
- Added GLM_GTX_hyperbolic extension.
- Added GLM_GTX_spline extension.
- Fixed unProject and project functions from GLM_GTX_matrix_projection extension.

2006-01-24 :
- Added GLM_GTX_compatibility extension.

2006-01-19 :
- Add some undefined write swizzle operators from bvec*
- Fixed vectors component access operators[] from bvec*
- Fixed bvec* equal operators with write swizzle operators
- Fixed various vector constructors
- Updated swizzle operators, _xvec* and _bvec* share the same code

2006-01-11 :
- Add some undefined write swizzle operators from xvec*
- Fixed some write operator considered as read operator from xvec*
- Fixed vectors component access operators[] from xvec*
- Fixed not function setup according compilers

2006-01-06 :
- Added user manual.
- GLM 0.5.0 released.

2006-01-05 :
- Updated overloaded functions of matrixCompMult.
- Added transpose and outerProduct functions in the GLM core.

2006-12-15 :
- Fixed GLM_GTX_rotate_vector extension.

2006-12-07 :
- Fixed GLM_GTX_interger extension conformance.

2006-12-06 :
- Improved "friendly conformance" support.
- Improved quaternion implementation.

2006-12-03 :
- Updated setup options.

2006-11-26 :
- Added new setup options for swizzle operators.

2006-11-14 :
- Updated GLM_GTX_integer extension.

2006-11-13 :
- Added GLM_GTX_gpu_shader4 extension.
- Added extension errors management.
- Added compilers management.
- Added conformance management.

2006-11-02 :
- Added GLM_GTX_rotate_vector extension.

2006-10-15 :
- Updated product operators to non-squared matrices

2006-10-01 :
- Updated _xmat4x3 and _xmat3x4 types
- Added _xmat2x3, _xmat3x2, _xmat2x4 and _xmat4x2
- Clarified ToDo comments for missing operators with non-squared matrices types

2006-08-05 :
- Added GLSL 1.2 mat4x3 and mat3x4
- Added missing declaration of mat* operators
- Added _xmat* with _xvec* division operators

2006-08-04 :
- Added GLSL 1.2 non-squared matrices files

2006-07-17 :
- fastCos and fastSin are defined between -2 pi and 2 pi

2006-06-18 :
- Added swizzle operators for _xvec4
- Added swizzle operators for _bvec4

2006-06-17 :
- Added swizzle operators for _bvec2
- Implicit conversion from *ref* to *vec*
- Added swizzles operators for _xvec3
- Added swizzles operators for _bvec3

2006-05-29 :
- Separated _*ref* types in different files
- Added _bref* types
- Updated _xref* types

2006-05-28 :
- Added operators for _xvec2 swizzles operators management

2006-05-23 :
- GLM 0.4.1 released.

2006-05-22 :
- Add 4 examples of use with OpenGL under Windows and Linux

2006-05-17 :
- GLM 0.4.0 released.

2006-05-16 :
- It's not anymore required to include windows.h before glm.h whether windows.h is required

2006-05-04 :
- Improved _xvec3 conversions
- Improved _xvec2 conversions
- Added left hand side vec2 swizzle operators
- Improved _bvec4 conversions
- Improved _bvec3 conversions
- Improved _bvec2 conversions

2006-04-28 :
- Added _xref* structures for swizzle operators implementation
- Seperated bvec* and xvec* types in different files
- Updated core functions code

2006-04-22 :
- Fixed texture coordinate components access
- Added GLM_GTX_mul extension.
- Added GLM_GTX_inertia extension.
- GLM 0.3.2 released.

2006-04-21 :
- Added right hand side vec2 swizzle operators
- Improved _xvec4 conversions

2006-04-20 :
- Updated GLM_GTX_quaterion, added log and exp functions
- Added GLM_GTX_matrix_major_storage extension.

2006-04-19 :
- Reorganize types code
- Complete addition and subtraction vertrices operators

2006-04-18 :
- Complete addition and subtraction matrices operators
- Optimize increment and decrement operators

2006-04-17 :
- Fixed _xmat4 division

2006-03-30 :
- Added GLM_GTX_outer_product extension.

2006-03-28 :
- GLM 0.3.1 released.

2006-03-27 :
- Added Linux support under GCC 4.0 and 4.1.

2006-03-26 :
- Optimisation of increment and decrement operators.

2006-03-20 :
- Added MacOS X support under GCC 4.0.

2006-02-19 :
- Added GLM_GTX_extend extension to wishlist in position 27.
- Added GLM_GTX_euler_angles extension to wishlist in position 28.
- Added Doxygen documentation.
- GLM 0.3.0 released.

2006-01-30 :
- Optimized GLM_GTX_integer implementation.

2006-01-27 :
- Deleted explicit conversions from array to type to prevent unespected conversions.

2006-01-16 :
- Fixed bugs
- Improved types conversions.
- Added GLM_GTX_vector_access extension to wishlist in position 25.
- Added GLM_GTX_random extension to wishlist in position 26.

2006-01-13 :
- Fixed bugs

2006-01-10 :
- Updated GLM_GTX_integer extension.

2006-01-09 :
- Added GLM_GTX_fast_exponential extension to wishlist in position 24.

2006-01-08 :
- Optimized _xvec* copy.

2006-01-07 :
- Added GLM_GTX_fast_trigonometry extension to wishlist in position 23.
- Added factorial function to GLM_GTX_integer extension.

2006-01-05 :
- Added GLM_GTX_half extension to wishlist in position 21.
- Optimized normalize function.
- Global optimisation for debugging time
- Added GLM_GTX_integer extension to wishlist in position 18.
- Optimized clamp function.

2006-01-04 :
- Added GLM_GTX_fast_square_root extension to wishlist in position 19.
- Added GLM_GTX_inverse_transpose extension to wishlist in position 20.
- Fixed missing of vec4 * mat4 operator.

2005-12-23 :
- Reorganization of extensions.
- Fixed vec2 constructeur bug.

2005-11-22 :
- Updated GLM_GTX_length2 extension.
- Renamed GLM_GTX_length2 extension to GLM_GTX_norm.

2005-11-12 :
- Fixed GLM_GTX_quaterion implémentation bugs.

2005-11-09 :
- Updated GLM_GTX_projection extension.

2005-10-30 :
- Added GLM_GTX_transform2 extension to wishlist in position 18.

2005-09-28 :
- Updated for GCC 4.0.

2005-08-12 :
- Fixed normalization bug with LookAtGTX.

2005-07-15 :
- Add array conversion to GLM types.

2005-07-02 :
- Added GL_GTX_euler_angles extension to wishlist in position 17.

2005-06-24 :
- Added GLM_GTX_matrix_selection extension to wishlist in position 16.
- Added GLM_GTX_matrix_selection extension support.

2005-06-22 :
- Updated GLM_GTX_projection extension to wishlist in position 15.

2005-06-21 :
- Added GLM_GTX_projection extension to wishlist in position 15.

2005-06-09 :
- Fixed bug from rotateGTX with quaternion.
- Fixed matrix vector product.
- Add vector usage to describe transformations axis.

2005-05-05 :
- Added GLM_GTX_quaternion extension support
- GLM 0.2 released.

2005-05-02 :
- Add GLM_GTX_transform 2D transform support

2005-05-01 :
- Add GLM_GTX_transform 3D transform support

2005-04-29 :
- Updated GLM_GTX_transform extension to wishlist in position 2

2005-04-23 :
- Added GLM_GTX_vector_comp_mult extension to whislist in position 14
- Added GLM_GTX_vector_comp_mult extension support

2005-04-22 :
- Added GLM_GTX_color_space extension to whislist in position 13
- Added GLM_GTX_color_space extension support
- Added GLM_GTX_double extension support

2005-04-10 :
- Overload of GLSL functions used by extentions instead of create new functions

2005-04-08 :
- Added GLM_GTX_optimum_pow extension to whislist in position 11
- Added GLM_GTX_double extension to wishlist in position 12

2005-04-03 :
- Updated GLM_GTX_matrix_cross_product extension to wishlist in position 8
- Added GLM_GTX_matrix_cross_product extension support
- Added GLM_GTX_projection extension to whislist in position 9
- Added GLM_GTX_perpendicular extension to wishlist in position 10
- Added GLM_GTX_projection extension support
- Added GLM_GTX_perpendicular extension support
- Changed extensions organisation

2005-03-27 :
- Added *vec* by *mat* product
- Updated GLM_GTX_determinant extension to wishlist in position 4
- Updated GLM_GTX_inverse extension to wishlist in position 5
- Updated GLM_GTX_length2 extension to wishlist in position 6
- Updated GLM_GTX_orthonormalize extension to wishlist in position 7
- Added GLM_GTX_determinant extension support
- Added GLM_GTX_inverse extension support
- Added GLM_GTX_length2 extension support
- Added GLM_GTX_orthonormalize extension support

2005-03-21 :
- Added bug #7 : Vector constructor non conform
- Updated issue #13 : Only ARB can allow extensions adding new operators

2005-03-13 :
- Added GLM_GTX_orthonormalize extension to wishlist in position 7
- Added GLM_GTX_matrix_cross_product extension to wishlist in position 8
- Updated issue #10 : Using template functions members
- Updated *vec* types following issue #10 guidance

2005-03-06 :
- Fixed bug #2 with '#error'

2005-03-05 :
- Updated issue #4

2005-03-04 :
- Updated issue #13
- Updated issue #8
- Updated issue #6
- Updated issue #4

2005-03-03 :
- Bugs #2 and #5 are now one
- Updated / operator for vec* types with support of the divisibility of two vectors, and the divisibility term to term

2005-02-28 :
- Updated GLM_GTX_transpose extension to wishlist in position 8
- Added GLM_GTX_transpose extension support
- Fixed mat* types constructor scalar-parameted

2005-02-27 :
- Fixed mat* types product by a scalar

2005-02-25 :
- Updated function 'not'
- Defined identificators following compilers
- Added GLM_GTX_length2 extension to wishlist in position 6
- Optimized mat3 type divide operator

2005-02-21 :
- GLM 0.1 released

2005-02-18 :
- Updated issue #4
- Updated issue #6
- Updated issue #9
- Updated issue #12
- Updated issue #13
- Updated issues ordering

2005-02-17 :
- Updated vec* types + operator. Can now add a vector and a scalar, term by term
- Updated vec* types - operator. Can now minus a vector and a scalar, term by term
- Updated vec* types * operator. Can now multiply a vector and a scalar, term by term
- Deleted issue #11, which was erroneous

2005-02-15 :
- Deleted from wishlist extension #6 : refract function is defined by version 1.10.59 from GLSL specs
- Updated reflect function tests
- Added fucntion reflect with its tests
- Using typename 'genType' for functions templates
- Added bug #5
- Updated function sqrt
- Added function log with its tests
- Added function exp with its tests
- Added function log2 with its tests
- Updated cross function
- Updated bvec* types data implementation
- Added bug #6

2005-02-14 :
- Updated issue #13
- Converted text files into XML
- Modified files hierarchy

2005-02-13 :
- Updated clamp function
- Added function noise1 with its tests
- Added function noise2 with its tests
- Added function noise3 with its tests
- Added function noise4 with its tests

2005-02-08 :
- Enhanced mat4 type division operator
- Added function sqrt with its tests
- Added function inversesqrt with its tests
- Added function exp2 with its tests
- Added function log2 with its tests

2005-02-07 :
- Modified *vec* types constructors implementation, chooses initialisation instead of affectation
- Added function reflect with its tests
- Updated tan function
- Fixed mat4 type * operator

2005-02-05 :
- Added GLM_GTX_refract extension to wishlist in position 5.

2005-02-03 :
- Added default constructor for mat* types

2005-02-02 :
- Added mat2 and vec2 type * operator
- Added mat3 and vec3 type * operator
- Added mat4 and vec4 type * operator

2005-02-01 :
- Added GLM_GTX_transpose extension to wishlist in position 3
- Added GLM_GTX_determinant extension to wishlist in position 4
- Added GLM_GTX_inverse extension to wishlist in position 5
- Added / operator for two mat3 types
- Enhanced *vec* types conception
- Enhanced *mat* types conception

2005-01-31 :
- Updated bug #3
- Updated issue #10
- Added function matrixCompMult with its tests
- Updated mat* type constant access operators
- Added bug #4 : Conversion problem between two different *vec* types

2005-01-30 :
- Added bug #1 : Inability to select multiple components
- Added bug #2 : Some *vec* types conversions are not available
- Added bug #3 : 'not' is a C++ ISO keyword
- Added * operator for two mat3 types
- Added * operator for two mat4 types
- Updated mat* types
- Updated GLM_GTX_quaternion extension to wishlist in position 1
- Updated GLM_GTX_transform extension to wishlist in position 2

2005-01-27 :
- Added mat2 type
- Added * operator for two mat2 types
- Added issue #14
- Added issue #15
- Added mat3 type
- Added mat4 type

2005-01-26 :
- Added function mix with its tests
- Added function step with its tests
- Added function smoothstep with its tests
- Updated issue #10
- Updated issue #12
- Updated issue #8
- Added type bvec4 forgotten declaration
- Added function lessThan with its tests
- Added function lessThanEqual with its tests
- Added function greaterThan with its tests
- Added function greaterThanEqual with its tests
- Added function equal with its tests
- Added function notEqual with its tests
- Added function any with its tests
- Added function all with its tests
- Added function not with its tests

2005-01-24 :
- Added function fract with its tests
- Added function mod with its tests
- Added function clamp with its tests

2005-01-23 :
- Added function mod with its tests
- Added function abs with its tests
- Added function sign with its tests
- Added function floor with its tests
- Added function ceil with its tests
- Added function min with its tests
- Added function max with its tests

2005-01-22 :
- Updated issue #13
- Added temporary namespace called 'glm'
- Added function pow with its tests

2005-01-19 :
- Updated sin function tests
- Enhanced trigonometrics functions
- Enhanced geometric functions

2005-01-18 :
- Added xvec* type constructor taking a single scalar as parameter.
- Added xvec* into xvec3 type conversion
- Added xvec* into xvec4 type conversion
- Added xvec* into bvec2 type conversion
- Added xvec* into bvec3 type conversion
- Added xvec* into bvec4 type conversion
- Added function sin with its tests
- Added function cos with its tests
- Added function tan with its tests
- Added function asin with its tests
- Added function acos with its tests
- Added function atan with its tests
- Added issue #13

2005-01-17 :
- Added function radians with its tests
- Added function degrees with its tests
- Added issue #9

2005-01-16 :
- Separated *vec* types definition from declaration
- Added xvec* into xvec2 type conversion
- Updated issue #11
- Added issue #12

2005-01-15 :
- Using 'union' for multiple access to *vec* types components
- Added issue #11
- Deleted __*vec1GT following issue #11 guidance
- Closed issue #2

2005-01-13 :
- Added function normalize with its tests
- Added function faceforward with its tests

2005-01-12 :
- Added function cross with its tests
- Added a function that can determine *vec* types size, and write beyond GLSL 1.051 specs
- Added function lenght with its tests
- Added function distance with its tests
- Added function dot with its tests
- Closed issue #1

2005-01-10 :
- Renamed intern types _vec* into _xvec*
- Separated _xvec* types data, operators and accesses
- Added bvec2 type
- Added __bvec1GT type beyond GLSL 1.051 specs

2005-01-09 :
- Added types vec2 and ivec2
- Added types vec3 and ivec3
- Added types vec4 and ivec4
- Added types __vec1GT and __ivec1GT, write beyond GLSL 1.051 specs

Copyright © 2005-2008 G-Truc Creation