494 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			494 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ================================================================================
 | |
| OpenGL Mathematics (GLM)
 | |
| --------------------------------------------------------------------------------
 | |
| glm.g-truc.net
 | |
| glm@g-truc.net
 | |
| 
 | |
| ================================================================================
 | |
| The MIT License
 | |
| --------------------------------------------------------------------------------
 | |
| Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
 | |
| 
 | |
| Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| of this software and associated documentation files (the "Software"), to deal
 | |
| in the Software without restriction, including without limitation the rights
 | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | |
| copies of the Software, and to permit persons to whom the Software is
 | |
| furnished to do so, subject to the following conditions:
 | |
| 
 | |
| The above copyright notice and this permission notice shall be included in
 | |
| all copies or substantial portions of the Software.
 | |
| 
 | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | |
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | |
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | |
| THE SOFTWARE.
 | |
| 
 | |
| ================================================================================
 | |
| GLM Usage
 | |
| --------------------------------------------------------------------------------
 | |
| GLM is a header only library, there is nothing to build, just include it.
 | |
| #include <glm/glm.hpp>
 | |
| 
 | |
| More informations in GLM manual:
 | |
| http://glm.g-truc.net/glm-0.9.3.pdf
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.3.1: 2012-01-25
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed platform detection
 | |
| - Fixed warnings
 | |
| - Removed detail code from Doxygen doc
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.3.0: 2012-01-09
 | |
| --------------------------------------------------------------------------------
 | |
| - Added CPP Check project
 | |
| - Fixed conflict with Windows headers
 | |
| - Fixed isinf implementation
 | |
| - Fixed Boost conflict
 | |
| - Fixed warnings
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.3.B: 2011-12-12
 | |
| --------------------------------------------------------------------------------
 | |
| - Added support for Chrone Native Client
 | |
| - Added epsilon constant
 | |
| - Removed value_size function from vector types
 | |
| - Fixed roundEven on GCC
 | |
| - Improved API documentation
 | |
| - Fixed modf implementation
 | |
| - Fixed step function accuracy
 | |
| - Fixed outerProduct
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.3.A: 2011-11-11
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved doxygen documentation
 | |
| - Added new swizzle operators for C++11 compilers
 | |
| - Added new swizzle operators declared as functions
 | |
| - Added GLSL 4.20 length for vector and matrix types
 | |
| - Promoted GLM_GTC_noise extension: simplex, perlin, periodic noise functions
 | |
| - Promoted GLM_GTC_random extension: linear, gaussian and various random number 
 | |
| generation distribution
 | |
| - Added GLM_GTX_constants: provides usefull constants
 | |
| - Added extension versioning
 | |
| - Removed many unused namespaces
 | |
| - Fixed half based type contructors
 | |
| - Added GLSL core noise functions
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.7: 2011-10-24
 | |
| --------------------------------------------------------------------------------
 | |
| - Added more swizzling constructors
 | |
| - Added missing none-squared matrix products
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.6: 2011-10-01
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed half based type build on old GCC
 | |
| - Fixed /W4 warnings on Visual C++
 | |
| - Fixed some missing l-value swizzle operators
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.5: 2011-09-20
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed floatBitToXint functions
 | |
| - Fixed pack and unpack functions
 | |
| - Fixed round functions
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.4: 2011-09-03
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed extensions bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.3: 2011-06-08
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed build issues
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.2: 2011-06-02
 | |
| --------------------------------------------------------------------------------
 | |
| - Expend matrix constructors flexibility
 | |
| - Improved quaternion implementation
 | |
| - Fixed many warnings across platforms and compilers
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.1: 2011-05-24
 | |
| --------------------------------------------------------------------------------
 | |
| - Automatically detect CUDA support
 | |
| - Improved compiler detection
 | |
| - Fixed errors and warnings in VC with C++ extensions disabled
 | |
| - Fixed and tested GLM_GTX_vector_angle
 | |
| - Fixed and tested GLM_GTX_rotate_vector
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.2.0: 2011-05-09
 | |
| --------------------------------------------------------------------------------
 | |
| - Added CUDA support
 | |
| - Added CTest test suite
 | |
| - Added GLM_GTX_ulp extension
 | |
| - Added GLM_GTX_noise extension
 | |
| - Added GLM_GTX_matrix_interpolation extension
 | |
| - Updated quaternion slerp interpolation
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.3: 2011-05-07
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.2: 2011-04-15
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.1: 2011-03-17
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.0: 2011-03-03
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.B: 2011-02-13
 | |
| --------------------------------------------------------------------------------
 | |
| - Updated API documentation
 | |
| - Improved SIMD implementation
 | |
| - Fixed Linux build
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.8: 2011-02-13
 | |
| --------------------------------------------------------------------------------
 | |
| - Added quaternion product operator.
 | |
| - Clarify that GLM is a header only library.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.1.A: 2011-01-31
 | |
| --------------------------------------------------------------------------------
 | |
| - Added SIMD support
 | |
| - Added new swizzle functions
 | |
| - Improved static assert error message with C++0x static_assert
 | |
| - New setup system
 | |
| - Reduced branching
 | |
| - Fixed trunc implementation
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.7: 2011-01-30
 | |
| --------------------------------------------------------------------------------
 | |
| - Added GLSL 4.10 packing functions
 | |
| - Added == and != operators for every types.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.6: 2010-12-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Many matrices bugs fixed
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.5: 2010-11-01
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved Clang support
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.4: 2010-10-04
 | |
| --------------------------------------------------------------------------------
 | |
| - Added autoexp for GLM
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.3: 2010-08-26
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed non-squared matrix operators
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.2: 2010-07-08
 | |
| --------------------------------------------------------------------------------
 | |
| - Added GLM_GTX_int_10_10_10_2
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.1: 2010-06-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed extensions errors
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.0.0: 2010-05-25
 | |
| --------------------------------------------------------------------------------
 | |
| - Objective-C support
 | |
| - Fixed warnings
 | |
| - Updated documentation
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.B.2: 2010-04-30
 | |
| --------------------------------------------------------------------------------
 | |
| - Git transition
 | |
| - Removed experimental code from releases
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.B.1: 2010-04-03
 | |
| --------------------------------------------------------------------------------
 | |
| - Based on GLSL 4.00 specification
 | |
| - Added the new core functions
 | |
| - Added some implicit conversion support
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.A.2: 2010-02-20
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved some possible errors messages
 | |
| - Improved declarations and definitions match
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.9.A.1: 2010-02-09
 | |
| --------------------------------------------------------------------------------
 | |
| - Removed deprecated features
 | |
| - Internal redesign
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.4.4 final: 2010-01-25
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed warnings
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.4.3 final: 2009-11-16
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed Half float arithmetic
 | |
| - Fixed setup defines
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.4.2 final: 2009-10-19
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed Half float adds
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.4.1 final: 2009-10-05
 | |
| --------------------------------------------------------------------------------
 | |
| - Updated documentation
 | |
| - Fixed MacOS X build
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.4.0 final: 2009-09-16
 | |
| --------------------------------------------------------------------------------
 | |
| - Added GCC 4.4 and VC2010 support
 | |
| - Added matrix optimizations
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.5 final: 2009-08-11
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.4 final: 2009-08-10
 | |
| --------------------------------------------------------------------------------
 | |
| - Updated GLM according GLSL 1.5 spec
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.3 final: 2009-06-25
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.2 final: 2009-06-04
 | |
| --------------------------------------------------------------------------------
 | |
| - Added GLM_GTC_quaternion
 | |
| - Added GLM_GTC_type_precision
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.1 final: 2009-05-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed old extension system.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.3.0 final: 2009-05-06
 | |
| --------------------------------------------------------------------------------
 | |
| - Added stable extensions.
 | |
| - Added new extension system.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.2.3 final: 2009-04-01
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.2.2 final: 2009-02-24
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.2.1 final: 2009-02-13
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.2 final: 2009-01-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.1 final: 2008-10-30
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.0 final: 2008-10-23
 | |
| --------------------------------------------------------------------------------
 | |
| - New method to use extension.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.0 beta3: 2008-10-10
 | |
| --------------------------------------------------------------------------------
 | |
| - Added CMake support for GLM tests.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.0 beta2: 2008-10-04
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved half scalars and vectors support.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.8.0 beta1: 2008-09-26
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved GLSL conformance
 | |
| - Added GLSL 1.30 support
 | |
| - Improved API documentation
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.6 final: 2008-08-08
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved C++ standard comformance
 | |
| - Added Static assert for types checking
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.5 final: 2008-07-05
 | |
| --------------------------------------------------------------------------------
 | |
| - Added build message system with Visual Studio
 | |
| - Pedantic build with GCC
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.4 final: 2008-06-01
 | |
| --------------------------------------------------------------------------------
 | |
| - Added external dependencies system.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.3 final: 2008-05-24
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed bugs
 | |
| - Added new extension group
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.2 final: 2008-04-27
 | |
| --------------------------------------------------------------------------------
 | |
| - Updated documentation
 | |
| - Added preprocessor options
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.1 final: 2008-03-24
 | |
| --------------------------------------------------------------------------------
 | |
| - Disabled half on GCC
 | |
| - Fixed extensions
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.7.0 final: 2008-03-22
 | |
| --------------------------------------------------------------------------------
 | |
| - Changed to MIT license
 | |
| - Added new documentation
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.6.4 : 2007-12-10
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed swizzle operators
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.6.3 : 2007-11-05
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed type data accesses
 | |
| - Fixed 3DSMax sdk conflict
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.6.2 : 2007-10-08
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed extension
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.6.1 : 2007-10-07
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed a namespace error
 | |
| - Added extensions
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.6.0 : 2007-09-16
 | |
| --------------------------------------------------------------------------------
 | |
| - Added new extension namespace mecanium
 | |
| - Added Automatic compiler detection
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.5.1 : 2007-02-19
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed swizzle operators
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.5.0 : 2007-01-06
 | |
| --------------------------------------------------------------------------------
 | |
| - Upgrated to GLSL 1.2
 | |
| - Added swizzle operators
 | |
| - Added setup settings
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.4.1 : 2006-05-22
 | |
| --------------------------------------------------------------------------------
 | |
| - Added OpenGL examples
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.4.0 : 2006-05-17
 | |
| --------------------------------------------------------------------------------
 | |
| - Added missing operators to vec* and mat*
 | |
| - Added first GLSL 1.2 features
 | |
| - Fixed windows.h before glm.h when windows.h required
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.3.2 : 2006-04-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Fixed texcoord components access.
 | |
| - Fixed mat4 and imat4 division operators.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.3.1 : 2006-03-28
 | |
| --------------------------------------------------------------------------------
 | |
| - Added GCC 4.0 support under MacOS X.
 | |
| - Added GCC 4.0 and 4.1 support under Linux.
 | |
| - Added code optimisations.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.3 : 2006-02-19
 | |
| --------------------------------------------------------------------------------
 | |
| - Improved GLSL type conversion and construction compliance.
 | |
| - Added experimental extensions.
 | |
| - Added Doxygen Documentation.
 | |
| - Added code optimisations.
 | |
| - Fixed bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.2: 2005-05-05
 | |
| --------------------------------------------------------------------------------
 | |
| - Improve adaptative from GLSL.
 | |
| - Add experimental extensions based on OpenGL extension process.
 | |
| - Fixe bugs.
 | |
| 
 | |
| ================================================================================
 | |
| GLM 0.1: 2005-02-21
 | |
| --------------------------------------------------------------------------------
 | |
| - Add vec2, vec3, vec4 GLSL types
 | |
| - Add ivec2, ivec3, ivec4 GLSL types
 | |
| - Add bvec2, bvec3, bvec4 GLSL types
 | |
| - Add mat2, mat3, mat4 GLSL types
 | |
| - Add almost all functions
 | |
| 
 | |
| ================================================================================
 | 
