OpenGL Mathematics

GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


2009-11-16:
- GLM 0.8.4.3 released.
_________________

2009-11-12:
- Fixed half arithmetic.
_________________

2009-11-11:
- Added scalars support for GLM_IMG_multiple.
_________________

2009-11-05:
- Fixed setup defines.
_________________

2009-10-27:
- Added GLM_IMG_multiple extensions and unit tests.
_________________

2009-10-19:
- GLM 0.8.4.2 released.
_________________

2009-10-10:
- Fixed half.
_________________

2009-10-05:
- GLM 0.8.4.1 released.
_________________

2009-10-02:
- Updated documentation.
_________________

2009-09-30:
- Updated manual.
- Added static assert implementation.
- Removed unuse GLM_SWIZZLE_FUNC.
_________________

2009-09-23:
- Some progress on fixing GLM for MacOSX comflics.
_________________

2009-09-22:
- Fixed GLM_GTX_quaternion extension: cross and intermediate.
_________________

2009-09-17:
- Fixed quaternion angle.
_________________

2009-09-16:
- Updated documentation.
- GLM 0.8.4.0 released.
_________________

2009-09-14:
- Added Visual Studio 2010 support.
- Fixed build on GCC.
- Added GCC 4.4 support.
_________________

2009-09-03:
- Added no initilization constructor to vec4.
_________________

2009-09-01:
- Added no initilization constructor to mat4.
- Updated GLM_GTC_matrix_transform: faster rotate.
_________________

2009-08-29:
- Added GLM_GTX_matrix_operation: build diagonal matrix.
- Updated GLM_GTC_matrix_transform: faster scaling.
_________________

2009-08-28:
- Fixed transpose function for mat4x3.
- Optimized translate function for mat4 matrix: ~184 cycles instead of ~592 cycles on Q6600.
_________________

2009-08-24:
- Fixed OpenGL dependence.
- Added OpenGL 3 dependence.
_________________

2009-08-23:
- Fixed parameter definition and definition mismatch.
_________________

2009-08-11:
- Fixed GLM_GTC_matrix_projection.
- Updated GLM_GTX_transform: Added missing entry points.
- GLM 0.8.3.5 released.
_________________

2009-08-10:
- Move inverse function to core following GLSL 1.4 specification.
- Move determinant function to core following GLSL 1.5 specification.
- GLM 0.8.3.4 released.
_________________

2009-07-22:
- Fixed GLM_GTX_matrix_query extension: Fixed row_size and col_size() calls.
- Fixed GLM_GTX_matrix_access extension: Fixed row_size calls.
_________________

2009-07-03:
- Fixed GLM_GTX_string_cast extension: Build on GCC 4.
- Fixed GLM_GTC_quaternion extension: rotate function build.
_________________

2009-06-25:
- Fixed GLM_GTC_matrix_transform extension: Fixed matrix operation order; like OpenGL instead of like Direct3D.
- GLM 0.8.3.3 released.
_________________

2009-06-16:
- Fixed GLM_GTX_rotate_vector extension: Fixed rotate function.
_________________

2009-06-09:
- Fixed matrix external operators.
_________________

2009-06-04:
- Added GLM_GTC_type_precision extension.
- GLM 0.8.3.2 released.
_________________

2009-06-02:
- Fixed GLM_GTC_matrix_transform: Fixed mat4 inverse function.
_________________

2009-05-22:
- Added GLM_GTC_quaternion extension.
- Updated GLM_GTC_quaternion extension.
- Fixed GLM_GTC_matrix_transform extension.
_________________

2009-05-21:
- GLM 0.8.3.1 released.
_________________

2009-05-20:
- Updated GLM_GTX_bit extension: Added lowestBit functions.
- Fixed old extention inclusion method.
_________________

2009-05-19:
- Updated sse mat4 implementation.
_________________

2009-05-18:
- Updated GLM_GTX_bit extension: Added bitRevert, bitRotateRight and bitRotateLeft functions.
_________________

2009-05-17:
- Added intrinsic like functions for mat4 product and inverse.
_________________

2009-05-15:
- Added intrinsic like functions for mat4 and vec4 products.
_________________

2009-05-06:
- Fixed GLM_GTX_type_ptr extension.
- GLM 0.8.3.0 released.
_________________

2009-05-06:
- Fixed GLM_GTC_matrix_projection: glm::project build.
_________________

2009-05-05:
- Added new extensions inclusion system.
_________________

2009-05-01:
- Fixed GLM_GTX_determinant extension.
- Reorganized extensions.
- Removed GLM_GTX_vector_comp_mult and GLM_GTX_mat4x3 extensions.
- Renamed .h files to .hpp.
_________________

2009-04-30:
- Added GLM_GTC_half_float.
_________________

2009-04-29:
- Fixed GLM_GTX_perpendicular extension.
- Fixed GLM_GTX_matrix_projection extension.
- Fixed GLM_GTX_transform2 extension.
_________________

2009-04-27:
- Added GLM_GTC_matrix_operation.
- Added GLM_GTC_matrix_transform.
- Added GLM_GTC_matrix_projection.
- Added GLM_GTC_double_float.
_________________

2009-04-20:
- Fixed bug 2774738.
- Fixed bug 2774015.
_________________

2009-04-01:
- GLM 0.8.2.3 released.
_________________

2009-03-30:
- Updaded mix function: Makes it more flexible, types wise.
_________________

2009-03-06:
- Fixed GLM_GTX_perpendicular and GLM_GTX_projection.
- Added GLM_GTX_radial_gradient extensions.
_________________

2009-02-24:
- Fixed GCC 4.3 pedantic build.
- GLM 0.8.2.2 released.
_________________

2009-02-19:
- Removed all deprecated ARB conventions.
_________________

2009-02-18:
- Fixed highp_int_t and highp_uint_t with Linux 64.
- Fixed GCC 4.3 'extra ;' with pedentic build.
_________________

2009-02-13:
- Fixed build.
- GLM 0.8.2.1 released.
_________________

2009-02-02:
- Fixed build.
- Added extensions build test.
_________________

2009-01-21:
- GLM 0.8.2 released.
_________________

2009-01-20:
- Fixed GLM_GTX_intersect: intersectRayTriangle.
_________________

2009-01-17:
- Fixed vectors access operators.
- Fixed unresolved with quaternions.
_________________

2009-01-16:
- Fixed GLM_GTX_norm: Include issue.
_________________

2009-01-01:
- Fixed left value swizzle operators.
_________________

2008-12-03:
- Fixed GLM_GTX intersect extension: intersectRayTriangleGTX with GCC.
- Typo.
_________________

2008-12-02:
- Fixed GLM_GTX inverse_transpose extension.
_________________

2008-11-27:
- Updated quaternion implementation.
_________________

2008-11-19:
- Added GLM_GTX_raw_data extension.
_________________

2008-11-18:
- Updated GLM_GTX_bit extension: Added mask function.
_________________

2008-11-14:
- Updated GLM_GTX_bit extension: Added extractField function.
- Fixed STATIC_ASSERT with 64bits integers.
_________________

2008-10-30:
- GLM 0.8.1 released.
_________________

2008-10-29:
- Fixed mix function with boolean parameter.
- Fixed value_size issue.
_________________

2008-10-28:
- Fixed GLM_GTX_component_wise extension.
- Added GLM_GTX_color_space_YCoCg extension.
_________________

2008-10-27:
- Added GLM_GTX_comparison extension: Defined comparison operators for vectors.
_________________

2008-10-25:
- Added GLM_GTX_log_base extension.
_________________

2008-10-24:
- Fixed 64 bits integers with GCC.
- Deleted deprecated half number setup options.
- Updated GLM_GTX_number_precision: Clean up and added missing type definitions.
- Updated GLM_GTX_color_cast: Clean up and fixes.
_________________

2008-10-23:
- Updated manuel and documentation.
- GLM 0.8.0 final released.
_________________

2008-10-22:
- Fixed glm::size_t possible collisions with std::size_t. glm::size_t is now named glm::sizeType.
- Updated GLM_VIRTREV_address extension: Added none const fonctions.
- Updated GLM_GTX_double_float extension: Typo.
- Added new API to use extension.
_________________

2008-10-18:
- Added logos in varius resolutions.
_________________

2008-10-17:
- Updated website.
- Added website builder.
_________________

2008-10-15:
- Updated GLM_GTX_number_precision: No more warning with type size tests.
- Fixed none consistent size_t.
_________________

2008-10-12:
- Updated website.
_________________

2008-10-10:
- Fixed build.
- Updated manual.
- GLM 0.8.0 beta3 released.
_________________

2008-10-09:
- Added GLM_GTX_reciprocal extension: Define sec, csc, cot, asec, acsc, acot, sech, csch, coth, asech, acsch and acoth functions.
_________________

2008-10-08:
- Updated GLM_GTX_euler_angles extension: Added functions to build rotation matrices.
_________________

2008-10-07:
- Fixed GLM_GTX_color_space: Fixed conflits with swizzle operators.
- Fixed virtrev.h, didn't build.
- Fixed genType build.
- Fixed GLM_GTX_compatibility build.
- Added GLM_VIRTREV_address: Get the address of internal vector or matrix contents.
- Fixed code typo and clean up.
_________________

2008-10-06:
- Added genType class. For long term base class for all types though template specialization.
- Updated project directory.
- Added CMakeFile in test directory.
- Fixed code typo and clean up.
- Fixed GLM_GTX_string_cast: Missing some matrix definitions, some wrong behaviours with matrices.
_________________

2008-10-05:
- Added glm::sizeType type which is used to defined size of all vectors and matrices. Defined as std::size_t.
- row_size, col_size and is_matrix are now functions.
- Fixed use inline on *mat4 function declaration.
- Deleted auto cast from *mat4x3.
- Fixed missing ++ -- and - operators to some matrix types.
- Fixed typo.
_________________

2008-10-04:
- GLM 0.8.0 beta2 released.
_________________

2008-10-03:
- value_size and is_vector are now functions.
_________________

2008-10-02:
- Added GLM_USE_ANONYMOUS_UNION: To use anonymous union to provide multiple component names access for class valType. Visual C++ only.
- Removed noise function from documentation.
_________________

2008-10-01:
- Fixed build with GCC.
- Updated manual.
_________________

2008-09-30:
- Updated GLM_GTX_bit implementation.
- Added GLM_USE_ONLY_XYZW to disable multiple component names.
- Updated GLM_GTX_euler_angles extension: added yawPitchRoll function.
_________________

2008-09-29:
- Fixed half vector build.
- Updated GLM_GTX_vector_angle: Added orientedAngleFromRef function.
- Deprecated GLM_GTX_mul extension. Features moved in GLM_GTX_verbose_operator.
- Updated GLM_GTX_verbose_operator: Added mad function.
_________________

2008-09-28:
- Fixed missing inline in tvec3 and tvec4 definisions.
- New implementation of hvec3 thought specialisation of tvec3 template.
- New implementation of hvec4 thought specialisation of tvec4 template.
- Fixed tvec4 operators than where applied just on 3 components.
_________________

2008-09-27:
- Added build option for build that support anonymous structure.
- Fixed missing inline in tvec2 definision.
- New implementation of hvec2 thought specialisation of tvec2 template.
_________________

2008-09-26:
- Updated documentation.
- GLM 0.8.0 beta1 released.
_________________

2008-09-25:
- Fixed static asserts within vector and matrix types.
- Updated mix function implementation, support for boolean vectors.
_________________

2008-09-24:
- Fixed static asserts.
- Added some asserts.
- Updated matrices operator[].
_________________

2008-09-23:
- Added GLM_VIRTREV_equal_operator: Operators that compare vectors.
- Fixed build errors from static asserts.
_________________

2008-09-22:
- Fixed build errors with GCC.
- Fixed func_trigonometric.h encoding.
_________________

2008-09-21:
- Deleted GLM_GTX_INCLUDED.
- Fixed build errors.
- Fixed GLM_GTX_random: Bad assert definition.
_________________

2008-09-20:
- Updated manual.
- Updated swizzle operators with swizzle function.
- Added modf definition.
_________________

2008-09-17:
- Added namespaces to sort type and function in the API documentation.
- Deleted some documentations from {__}*GTX types and functions from extensions.
- Updated vectors and matrices documentation.
- Updated scalars and precisions documentation.
- Fixed some vectors and matrices declaration missing in some cases.
- Updated overall documentation.
_________________

2008-09-16:
- Included all types in type namespace.
_________________

2008-09-15:
- Added type namespace in glm namespace for documentation purpose.
_________________

2008-09-14:
- Added modf definition for vec2, vec3 and vec4.
- Updated static assert to exponential, geometric, matrix, noise, trigonometric and vector relational functions.
- Added GLM_GTC_matrix_transformation extensions: API and translate, rotate and scale definisions.
- Deprecated GLM_GTX_gpu_shader4, GLM_GTX_hyperbolic, GLM_GTX_flexible_mix, GLM_GTX_round.
- Added definition of mix with last parameter being booleans.
- Added hint classes.
- Updated GLM_GTX_integer, GLM_GTX_unsigned_int, GLM_GTX_half and GLM_GTX_double_float extensions.
_________________

2008-09-13:
- Added trait code (class type) to detect bool, float, int and uint numbers.
- Updated static assert to common functions.
_________________

2008-09-12:
- Updated noise function definitions... Still unsure for staying in GLM 0.8.0.
_________________

2008-09-11:
- Updated overall documentation, doxygen documentation.
_________________

2008-09-10:
- Updated documentation and implementation of all matrix functions.
- Added declaration of main functions for each function group namespace.
- Updated documentation and API of all noise functions... Should be deleted becose of bad implementation?
_________________

2008-09-09:
- Updated documentation and implementation of all vector relational functions.
- Added transpose_type typedef to all matrix types.
- Added is_matrix static constantes to all matrix types for static assert usage.
- Added is_vector static constantes to all vector types for static assert usage.
_________________

2008-09-08:
- Updated documentation and implementation of all geometric functions.
_________________

2008-09-07:
- Updated documentation and implementation of all exponential functions.
_________________

2008-09-06:
- Added isinf and isnan GLSL 1.3 functions.
- Updated common functions code, mostly syntax.
- Added trunc, round and roundEven GLSL 1.3 functions.
- Added sinh, cosh, tanh, asinh, acosh and atanh GLSL 1.3 functions.
- Updated documentation and implementation of all trigonometric functions.
_________________

2008-09-05:
- Added bool_type implementation detail to vector types.
_________________

2008-09-04:
- Added API and documentation of all common functions.
_________________

2008-09-03:
- Updated GLM_GTX_extensions: Define operator* as a cross product. Still in WIP...
_________________

2008-09-02:
- Updated *vec2 and *vec3 with precision types missed and documentation.
_________________

2008-09-01:
- Fixed 2085925 bug: rotateGTX didn't use it quaternion parameter.
_________________

2008-08-31:
- Added test files.
- Updated *vec4 with precision types missed and documentation.
_________________

2008-08-30:
- Renamed implementation files.
- Updated type pre-declarations.
_________________

2008-08-25:
- Fixed GLM_GTX_matrix_projection extension: frustum function gave a wrong result.
_________________

2008-08-24:
- Updated matrix types functions and extensions according new vectors types.
_________________

2008-08-23:
- Added new vector types implementation.
_________________

2008-08-22:
- Added support for new GLSL 1.30 precision model.
_________________

2008-08-19:
- Added GLSL 1.30.08 unsigned int types support
_________________

2008-08-17:
- Added detail::vec1 type.
- Added detail::desc for types description and higher templatisation.
_________________

2008-08-11:
- Started work on GLM 0.8.x based on GLSL 1.3 specification.
- Visual Studio .NET 2003 (7.1) is now deprecated.
- GLM_FORCE_HALF_COMPATIBILITY is now deprecated.
- GLM_AUTO_CAST is now deprecated.
_________________

2008-08-09:
- Updated GLM_GTX_fast_square_root implementation: Updated fastInverseSqrt
_________________

2008-08-08:
- Updated documentation.
- GLM 0.7.6 released.
_________________

2008-08-06:
- gl_svec* (for GLshort) added in GLM_virtrev_gl extension.
- Updated detail implementation of vector types.
- Make Visual C++ build with Visual C++ extensions disabled.
- Rename "not" to "not_" for compatibility.
- Fixed GLM_GTX_fast_square_root build.
_________________

2008-07-31:
- Fixed GLM_GTX_component_wise extension.
_________________

2008-07-29:
- Updated mix functions for optimization purpose.
- Fixed mix functions static assert.
- Updated test files.
- Updated GLM_GTX_statistics_operation.
_________________

2008-07-24:
- Fixed GLM_GTX_bit extension: isPowerOfTwoGTX works for signed int too.
- Updated GLM_GTX_norm extension: Added distance2, l2norm and lxNorm functions.
- Added some boost static assert.
_________________

2008-07-23:
- Added GLM_GTX_std_based_type: Types based on C++ conventions.
- Added files for extension tests.
_________________

2008-07-22:
- Fixed GLM_GTX_fast_square_root: Updated fastDistance.
_________________

2008-07-16:
- Fixed GLM_GTX_fast_square_root: Wrong const and updated fastLenght.
- Optimized mix core function
_________________

2008-07-14:
- Fixed GLM_GTX_epsilon: Wrong function definitions for y, z and w components.
_________________

2008-07-10:
- Fixed GLM_GTX_flexible: Flexible with scalar only failed.
- Fixed GLM_GTX_quaternion: One rotate overloaded function undefined.
_________________

2008-07-08:
- Some fixes on GLM_GTX_intersect extension.
_________________

2008-07-05:
- GLM 0.7.5 released.
_________________

2008-07-03:
- Updated documentation.
_________________

2008-07-01:
- Updated message system.
_________________

2008-06-26:
- Added new message system.
_________________

2008-06-13:
- Fixed GLM_GTX_normal extension.
_________________

2008-06-07:
- Updated GLM_GTX_unsigned_int extension. (New typedef extensions)
_________________

2008-06-06:
- Added new precompiler system.
_________________

2008-06-04:
- Increase C++ conformance.
_________________

2008-06-01:
- Fixed build errors.
- GLM 0.7.4 released.
_________________

2008-05-30:
- Updated external dependencies system.
- Updated manual.
- Fixed GLM_GTX_random extension: Fixed build with GCC.
- Fixed GLM_GTX_string_cast extension: Fixed build with GCC 3.4 due to GCC anonymuous namespace bug.
_________________

2008-05-29:
- Fixed GLM_GTX_transform2 extension: scaleBias didn't built.
_________________

2008-05-26:
- Added GLM_VIRTREV_xstream extension: XML output for GLM types.
- Added external library system
_________________

2008-05-24:
- Updated GLM_GTX_string_cast extension: Support of non-square matrices.
- GLM 0.7.3 released.
_________________

2008-05-23:
- Fixed mat2 product.
_________________

2008-05-18:
- Fixed GLM_GTX_transform2 dependencies.
_________________

2008-05-01:
- Added GLM_VIRTREV_gl extension: Vector and matrix integration with OpenGL.
_________________

2008-04-28:
- Updated GLM_GTX_number_precision extension: Added uint type.
- Added GLM_GTX_string_cast extension: Create formated string from GLM type instances.
- Updated GLM_GTX_transform2: added scaleBias matrix build
_________________

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 tmat4x3 and tmat3x4 types
- Added tmat2x3, tmat3x2, tmat2x4 and tmat4x2
- 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 tvec2 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 tvec3 conversions
- Improved tvec2 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 tvec4 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 tmat4x4 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