diff options
Diffstat (limited to '3rdparty/glm/readme.md')
| -rw-r--r-- | 3rdparty/glm/readme.md | 549 |
1 files changed, 257 insertions, 292 deletions
diff --git a/3rdparty/glm/readme.md b/3rdparty/glm/readme.md index 63d60c0d5fd..7734419691d 100644 --- a/3rdparty/glm/readme.md +++ b/3rdparty/glm/readme.md @@ -1,28 +1,29 @@ - + [OpenGL Mathematics](http://glm.g-truc.net/) (*GLM*) is a header only C++ mathematics library for graphics software based on the [OpenGL Shading Language (GLSL) specifications](https://www.opengl.org/registry/doc/GLSLangSpec.4.50.diff.pdf). -*GLM* provides classes and functions designed and implemented with the same naming conventions and functionality than *GLSL* so that anyone who knows *GLSL*, can use *GLM* as well in C++. +*GLM* provides classes and functions designed and implemented with the same naming conventions and functionalities than *GLSL* so that anyone who knows *GLSL*, can use *GLM* as well in C++. This project isn't limited to *GLSL* features. An extension system, based on the *GLSL* extension conventions, provides extended capabilities: matrix transformations, quaternions, data packing, random numbers, noise, etc... This library works perfectly with *[OpenGL](https://www.opengl.org)* but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (raytracing / rasterisation), image processing, physic simulations and any development context that requires a simple and convenient mathematics library. *GLM* is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and it officially supports the following compilers: -- [Apple Clang 6.0](https://developer.apple.com/library/mac/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/index.html) and higher -- [GCC](http://gcc.gnu.org/) 4.7 and higher +- [Apple Clang 4.0](https://developer.apple.com/library/mac/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/index.html) and higher +- [GCC](http://gcc.gnu.org/) 4.2 and higher - [Intel C++ Composer](https://software.intel.com/en-us/intel-compilers) XE 2013 and higher -- [LLVM](http://llvm.org/) 3.4 and higher -- [Visual C++](http://www.visualstudio.com/) 2013 and higher -- [CUDA](https://developer.nvidia.com/about-cuda) 7.0 and higher (experimental) -- Any C++11 compiler +- [LLVM](http://llvm.org/) 3.0 and higher +- [Visual C++](http://www.visualstudio.com/) 2010 and higher +- [CUDA](https://developer.nvidia.com/about-cuda) 4.0 and higher (experimental) +- Any conform C++98 or C++11 compiler -For more information about *GLM*, please have a look at the [manual](manual.md) and the [API reference documentation](http://glm.g-truc.net/0.9.8/api/index.html). -The source code and the documentation are licensed under both the [Happy Bunny License (Modified MIT) or the MIT License](manual.md#section0). +For more information about *GLM*, please have a look at the [manual](http://glm.g-truc.net/0.9.7/glm-0.9.7.pdf) and the [API reference documentation](http://glm.g-truc.net/0.9.7/api/index.html). +The source code and the documentation are licensed under the [Happy Bunny License (Modified MIT) or the MIT License](./copying.txt). Thanks for contributing to the project by [submitting issues](https://github.com/g-truc/glm/issues) for bug reports and feature requests. Any feedback is welcome at [glm@g-truc.net](mailto://glm@g-truc.net). -```cpp + +```c++ #include <glm/vec3.hpp> // glm::vec3 #include <glm/vec4.hpp> // glm::vec4 #include <glm/mat4x4.hpp> // glm::mat4 @@ -40,53 +41,22 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) } ``` -## [Lastest release](https://github.com/g-truc/glm/releases/latest) - ## Project Health | Service | System | Compiler | Status | | ------- | ------ | -------- | ------ | -| [Travis CI](https://travis-ci.org/g-truc/glm)| MacOSX, Linux 64 bits | Clang 3.4, Clang 3.8, GCC 4.9 | [](https://travis-ci.org/g-truc/glm) -| [AppVeyor](https://ci.appveyor.com/project/Groovounet/glm)| Windows 32 and 64 | Visual Studio 2013 | [](https://ci.appveyor.com/project/Groovounet/glm) +| [Drone](https://drone.io/github.com/g-truc/glm) | Linux 64 bits | GCC 4.6.3 | [](https://drone.io/github.com/g-truc/glm/latest) | + +## [Lastest release](https://github.com/g-truc/glm/releases/latest) ## Release notes -### [GLM 0.9.9.0](https://github.com/g-truc/glm/releases/latest) - 2017-XX-XX -#### Features: -- Added RGBM encoding in GTC_packing #420 -- Added GTX_color_encoding extension -- Added GTX_vec_swizzle, faster compile time swizzling then swizzle operator #558 -- Added [GLM_ENABLE_EXPERIMENTAL](manual.md#section7_4) to enable experimental features. - -#### Improvements: -- Added lowp variant of GTC_color_space convertLinearToSRGB #419 -- Replaced the manual by a markdown version #458 -- Optimized GTC_packing implementation -- Optimized GTC_noise functions -- Optimized GTC_color_space HSV to RGB conversions -- Optimised GTX_color_space_YCoCg YCoCgR conversions -- Optimized GTX_matrix_interpolation axisAngle function -- Added FAQ 12: Windows headers cause build errors... #557 -- Removed GCC shadow warnings #595 - -#### Fixes: -- Removed doxygen references to GTC_half_float which was removed in 0.9.4 -- Fixed glm::decompose #448 -- Fixed intersectRayTriangle #6 - -#### Deprecation: -- Requires Visual Studio 2013, GCC 4.7, Clang 3.4, Cuda 7, ICC 2013 or a C++11 compiler -- Removed GLM_GTX_simd_vec4 extension -- Removed GLM_GTX_simd_mat4 extension -- Removed GLM_GTX_simd_quat extension -- Removed GLM_SWIZZLE, use GLM_FORCE_SWIZZLE instead -- Removed GLM_MESSAGES, use GLM_FORCE_MESSAGES instead -- Removed GLM_DEPTH_ZERO_TO_ONE, use GLM_FORCE_DEPTH_ZERO_TO_ONE instead -- Removed GLM_LEFT_HANDED, use GLM_FORCE_LEFT_HANDED instead - ---- -### [GLM 0.9.8.4](https://github.com/g-truc/glm/releases/tag/0.9.8.4) - 2017-01-22 -#### Fixes: +#### [GLM 0.9.8.5](https://github.com/g-truc/glm/tree/0.9.8) - 2017-0X-XX +##### Fixes: +- Fixed Clang version detection from source #608 + +#### [GLM 0.9.8.4](https://github.com/g-truc/glm/releases/tag/0.9.8.4) - 2017-01-22 +##### Fixes: - Fixed GTC_packing test failing on GCC x86 due to denorms #212 #577 - Fixed POPCNT optimization build in Clang #512 - Fixed intersectRayPlane returns true in parallel case #578 @@ -96,21 +66,19 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed Visual C++ internal error when declaring a global vec type with siwzzle expression enabled #594 - Fixed GLM_FORCE_CXX11 with Clang and libstlc++ which wasn't using C++11 STL features. #604 ---- -### [GLM 0.9.8.3](https://github.com/g-truc/glm/releases/tag/0.9.8.3) - 2016-11-12 -#### Improvements: +#### [GLM 0.9.8.3](https://github.com/g-truc/glm/releases/tag/0.9.8.3) - 2016-11-12 +##### Improvements: - Broader support of GLM_FORCE_UNRESTRICTED_GENTYPE #378 -#### Fixes: +##### Fixes: - Fixed Android build error with C++11 compiler but C++98 STL #284 #564 - Fixed GTX_transform2 shear* functions #403 - Fixed interaction between GLM_FORCE_UNRESTRICTED_GENTYPE and ortho function #568 - Fixed bitCount with AVX on 32 bit builds #567 - Fixed CMake find_package with version specification #572 #573 ---- -### [GLM 0.9.8.2](https://github.com/g-truc/glm/releases/tag/0.9.8.2) - 2016-11-01 -#### Improvements: +#### [GLM 0.9.8.2](https://github.com/g-truc/glm/releases/tag/0.9.8.2) - 2016-11-01 +##### Improvements: - Added Visual C++ 15 detection - Added Clang 4.0 detection - Added warning messages when using GLM_FORCE_CXX** but the compiler @@ -118,24 +86,22 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Refactored GLM_COMPILER_VC values - Made quat, vec, mat type component length() static #565 -#### Fixes: +##### Fixes: - Fixed Visual C++ constexpr build error #555, #556 ---- -### [GLM 0.9.8.1](https://github.com/g-truc/glm/releases/tag/0.9.8.1) - 2016-09-25 -#### Improvements: +#### [GLM 0.9.8.1](https://github.com/g-truc/glm/releases/tag/0.9.8.1) - 2016-09-25 +##### Improvements: - Optimized quaternion log function #554 -#### Fixes: +##### Fixes: - Fixed GCC warning filtering, replaced -pedantic by -Wpedantic - Fixed SIMD faceforward bug. #549 - Fixed GCC 4.8 with C++11 compilation option #550 - Fixed Visual Studio aligned type W4 warning #548 - Fixed packing/unpacking function fixed for 5_6_5 and 5_5_5_1 #552 ---- -### [GLM 0.9.8.0](https://github.com/g-truc/glm/releases/tag/0.9.8.0) - 2016-09-11 -#### Features: +#### [GLM 0.9.8.0](https://github.com/g-truc/glm/releases/tag/0.9.8.0) - 2016-09-11 +##### Features: - Added right and left handed projection and clip control support #447 #415 #119 - Added compNormalize and compScale functions to GTX_component_wise - Added packF3x9_E1x5 and unpackF3x9_E1x5 to GTC_packing for RGB9E5 #416 @@ -153,7 +119,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added lowestBitValue to GTX_bit #536 - Added GLM_FORCE_UNRESTRICTED_GENTYPE allowing non basic genType #543 -#### Improvements: +##### Improvements: - Improved SIMD and swizzle operators interactions with GCC and Clang #474 - Improved GTC_random linearRand documentation - Improved GTC_reciprocal documentation @@ -169,7 +135,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - No more warnings for use of long long - Added more information to build messages -#### Fixes: +##### Fixes: - Fixed GTX_extended_min_max filename typo #386 - Fixed intersectRayTriangle to not do any unintentional backface culling - Fixed long long warnings when using C++98 on GCC and Clang #482 @@ -178,9 +144,9 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed missing vec1 overload to length2 and distance2 functions #431 - Fixed GLM test '/fp:fast' and '/Za' command-line options are incompatible - Fixed quaterion to mat3 cast function mat3_cast from GTC_quaternion #542 -- Fixed GTX_io for Cuda #547 #546 +- Fixed GLM_GTX_io for Cuda #547 #546 -#### Deprecation: +##### Deprecation: - Removed GLM_FORCE_SIZE_FUNC define - Deprecated GLM_GTX_simd_vec4 extension - Deprecated GLM_GTX_simd_mat4 extension @@ -188,25 +154,25 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Deprecated GLM_SWIZZLE, use GLM_FORCE_SWIZZLE instead - Deprecated GLM_MESSAGES, use GLM_FORCE_MESSAGES instead ---- -### [GLM 0.9.7.6](https://github.com/g-truc/glm/releases/tag/0.9.7.6) - 2016-07-16 -#### Improvements: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.6](https://github.com/g-truc/glm/releases/tag/0.9.7.6) - 2016-07-16 +##### Improvements: - Added pkg-config file #509 - Updated list of compiler versions detected - Improved C++ 11 STL detection #523 -#### Fixes: +##### Fixes: - Fixed STL for C++11 detection on ICC #510 - Fixed missing vec1 overload to length2 and distance2 functions #431 - Fixed long long warnings when using C++98 on GCC and Clang #482 - Fixed scalar reciprocal functions (GTC_reciprocal) #520 ---- -### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24 -#### Improvements: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24 +##### Improvements: - Added Visual C++ Clang toolset detection -#### Fixes: +##### Fixes: - Fixed uaddCarry warning #497 - Fixed roundPowerOfTwo and floorPowerOfTwo #503 - Fixed Visual C++ SIMD instruction set automatic detection in 64 bits @@ -215,9 +181,9 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed GTX_extended_min_max filename typo #386 - Fixed intersectRayTriangle to not do any unintentional backface culling ---- -### [GLM 0.9.7.4](https://github.com/g-truc/glm/releases/tag/0.9.7.4) - 2016-03-19 -#### Fixes: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.4](https://github.com/g-truc/glm/releases/tag/0.9.7.4) - 2016-03-19 +##### Fixes: - Fixed asinh and atanh warning with C++98 STL #484 - Fixed polar coordinates function latitude #485 - Fixed outerProduct defintions and operator signatures for mat2x4 and vec4 #475 @@ -226,20 +192,20 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed missing GLM_PLATFORM_CYGWIN declaration #495 - Fixed various undefined reference errors #490 ---- -### [GLM 0.9.7.3](https://github.com/g-truc/glm/releases/tag/0.9.7.3) - 2016-02-21 -#### Improvements: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.3](https://github.com/g-truc/glm/releases/tag/0.9.7.3) - 2016-02-21 +##### Improvements: - Added AVX512 detection -#### Fixes: +##### Fixes: - Fixed CMake policy warning - Fixed GCC 6.0 detection #477 - Fixed Clang build on Windows #479 - Fixed 64 bits constants warnings on GCC #463 ---- -### [GLM 0.9.7.2](https://github.com/g-truc/glm/releases/tag/0.9.7.2) - 2016-01-03 -#### Fixes: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.2](https://github.com/g-truc/glm/releases/tag/0.9.7.2) - 2016-01-03 +##### Fixes: - Fixed GTC_round floorMultiple/ceilMultiple #412 - Fixed GTC_packing unpackUnorm3x10_1x2 #414 - Fixed GTC_matrix_inverse affineInverse #192 @@ -251,14 +217,14 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed missing unary + operator #435 - Fixed Cygwin build errors when using C++11 #405 ---- -### [GLM 0.9.7.1](https://github.com/g-truc/glm/releases/tag/0.9.7.1) - 2015-09-07 -#### Improvements: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.1](https://github.com/g-truc/glm/releases/tag/0.9.7.1) - 2015-09-07 +##### Improvements: - Improved constexpr for constant functions coverage #198 - Added to_string for quat and dual_quat in GTX_string_cast #375 - Improved overall execution time of unit tests #396 -#### Fixes: +##### Fixes: - Fixed strict alignment warnings #235 #370 - Fixed link errors on compilers not supported default function #377 - Fixed compilation warnings in vec4 @@ -268,9 +234,9 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed builtin bitscan never being used #392 - Removed unused func_noise.* files #398 ---- -### [GLM 0.9.7.0](https://github.com/g-truc/glm/releases/tag/0.9.7.0) - 2015-08-02 -#### Features: +-------------------------------------------------------------------------------- +#### [GLM 0.9.7.0](https://github.com/g-truc/glm/releases/tag/0.9.7.0) - 2015-08-02 +##### Features: - Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions - Added 'fmod' overload to GTX_common with tests #308 - Left handed perspective and lookAt functions #314 @@ -281,7 +247,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added .gitignore #349 - Added support of defaulted functions to GLM types, to use them in unions #366 -#### Improvements: +##### Improvements: - Changed usage of __has_include to support Intel compiler #307 - Specialized integer implementation of YCoCg-R #310 - Don't show status message in 'FindGLM' if 'QUIET' option is set. #317 @@ -289,7 +255,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Clarified manual regarding angle unit in GLM, added FAQ 11 #326 - Updated list of compiler versions -#### Fixes: +##### Fixes: - Fixed default precision for quat and dual_quat type #312 - Fixed (u)int64 MSB/LSB handling on BE archs #306 - Fixed multi-line comment warning in g++. #315 @@ -303,27 +269,28 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed decompose warnings #373 - Fixed matrix conversions #371 -#### Deprecation: +##### Deprecation: - Removed integer specification for 'mod' in GTC_integer #308 - Removed GTX_multiple, replaced by GTC_round ---- -### [GLM 0.9.6.3](https://github.com/g-truc/glm/releases/tag/0.9.6.3) - 2015-02-15 +-------------------------------------------------------------------------------- +#### [GLM 0.9.6.3](https://github.com/g-truc/glm/releases/tag/0.9.6.3) - 2015-02-15 - Fixed Android doesn't have C++ 11 STL #284 ---- -### [GLM 0.9.6.2](https://github.com/g-truc/glm/releases/tag/0.9.6.2) - 2015-02-15 -#### Features: +-------------------------------------------------------------------------------- +#### [GLM 0.9.6.2](https://github.com/g-truc/glm/releases/tag/0.9.6.2) - 2015-02-15 +##### Features: - Added display of GLM version with other GLM_MESSAGES - Added ARM instruction set detection -#### Improvements: +-------------------------------------------------------------------------------- +##### Improvements: - Removed assert for perspective with zFar < zNear #298 - Added Visual Studio natvis support for vec1, quat and dualqual types - Cleaned up C++11 feature detections - Clarify GLM licensing -#### Fixes: +##### Fixes: - Fixed faceforward build #289 - Fixed conflict with Xlib #define True 1 #293 - Fixed decompose function VS2010 templating issues #294 @@ -336,16 +303,16 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed functions not inlined with Clang #302 - Fixed memory corruption (undefined behaviour) #303 ---- -### [GLM 0.9.6.1](https://github.com/g-truc/glm/releases/tag/0.9.6.1) - 2014-12-10 -#### Features: +-------------------------------------------------------------------------------- +#### [GLM 0.9.6.1](https://github.com/g-truc/glm/releases/tag/0.9.6.1) - 2014-12-10 +##### Features: - Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags - Added C++14 detection -#### Improvements: +##### Improvements: - Clean up GLM_MESSAGES compilation log to report only detected capabilities -#### Fixes: +##### Fixes: - Fixed scalar uaddCarry build error with Cuda #276 - Fixed C++11 explicit conversion operators detection #282 - Fixed missing explicit conversion when using integer log2 with *vec1 types @@ -358,9 +325,9 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed conflict between GTX_compatibility and GTC_quaternion #286 - Fixed C++ language restriction using GLM_FORCE_CXX** ---- -### [GLM 0.9.6.0](https://github.com/g-truc/glm/releases/tag/0.9.6.0) - 2014-11-30 -#### Features: +-------------------------------------------------------------------------------- +#### [GLM 0.9.6.0](https://github.com/g-truc/glm/releases/tag/0.9.6.0) - 2014-11-30 +##### Features: - Exposed template vector and matrix types in 'glm' namespace #239, #244 - Added GTX_scalar_multiplication for C++ 11 compiler only #242 - Added GTX_range for C++ 11 compiler only #240 @@ -380,7 +347,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269 - Added GTX_type_aligned for aligned vector, matrix and quaternion types -#### Improvements: +##### Improvements: - Rely on C++11 to implement isinf and isnan - Removed GLM_FORCE_CUDA, Cuda is implicitly detected - Separated Apple Clang and LLVM compiler detection @@ -400,7 +367,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Optimized sign function #272 - Added explicit cast from quat to mat3 and mat4 #275 -#### Fixes: +##### Fixes: - Fixed std::nextafter not supported with C++11 on Android #217 - Fixed missing value_type for dual quaternion - Fixed return type of dual quaternion length @@ -411,8 +378,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed uaddCarray #253 - Fixed float comparison warnings #270 -#### Deprecation: -- Requires Visual Studio 2010, GCC 4.2, Apple Clang 4.0, LLVM 3.0, Cuda 4, ICC 2013 or a C++98 compiler +##### Deprecation: - Removed degrees for function parameters - Removed GLM_FORCE_RADIANS, active by default - Removed VC 2005 / 8 and 2008 / 9 support @@ -421,8 +387,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Removed LLVM 2.6 to 3.1 support - Removed CUDA 3.0 to 3.2 support ---- -### [GLM 0.9.5.4 - 2014-06-21](https://github.com/g-truc/glm/releases/tag/0.9.5.4) +-------------------------------------------------------------------------------- +#### [GLM 0.9.5.4 - 2014-06-21](https://github.com/g-truc/glm/releases/tag/0.9.5.4) - Fixed non-utf8 character #196 - Added FindGLM install for CMake #189 - Fixed GTX_color_space - saturation #195 @@ -442,8 +408,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed std::nextafter not supported with C++11 on Android #213 - Fixed corner cases in exp and log functions for quaternions #199 ---- -### GLM 0.9.5.3 - 2014-04-02 +-------------------------------------------------------------------------------- +#### GLM 0.9.5.3 - 2014-04-02 - Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch compiler argument - Fixed GTX_raw_data code dependency @@ -458,8 +424,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added full tests for eulerAngle*** functions (#173) - Added workaround for a CUDA compiler bug (#186, #185) ---- -### GLM 0.9.5.2 - 2014-02-08 +-------------------------------------------------------------------------------- +#### GLM 0.9.5.2 - 2014-02-08 - Fixed initializer list ambiguity (#159, #160) - Fixed warnings with the Android NDK 9c - Fixed non power of two matrix products @@ -471,8 +437,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152) - Fixed GLM_GTC_constants description brief (#162) ---- -### GLM 0.9.5.1 - 2014-01-11 +-------------------------------------------------------------------------------- +#### GLM 0.9.5.1 - 2014-01-11 - Fixed angle and orientedAngle that sometimes return NaN values (#145) - Deprecated degrees for function parameters and display a message - Added possible static_cast conversion of GLM types (#72) @@ -483,8 +449,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added intersectRayPlane function (#153) - Fixed outerProduct return type (#155) ---- -### GLM 0.9.5.0 - 2013-12-25 +-------------------------------------------------------------------------------- +#### GLM 0.9.5.0 - 2013-12-25 - Added forward declarations (glm/fwd.hpp) for faster compilations - Added per feature headers - Minimized GLM internal dependencies @@ -522,8 +488,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Improved GLM messages enabled when defining GLM_MESSAGES - Hidden matrix _inverse function implementation detail into private section ---- -### [GLM 0.9.4.6](https://github.com/g-truc/glm/releases/tag/0.9.4.6) - 2013-09-20 +-------------------------------------------------------------------------------- +#### [GLM 0.9.4.6](https://github.com/g-truc/glm/releases/tag/0.9.4.6) - 2013-09-20 - Fixed detection to select the last known compiler if newer version #106 - Fixed is_int and is_uint code duplication with GCC and C++11 #107 - Fixed test suite build while using Clang in C++11 mode @@ -537,8 +503,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed const ref issue on assignment operator taking a scalar parameter #116 - Fixed glm::eulerAngleY implementation #117 ---- -### GLM 0.9.4.5 - 2013-08-12 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.5 - 2013-08-12 - Fixed CUDA support - Fixed inclusion of intrinsics in "pure" mode #92 - Fixed language detection on GCC when the C++0x mode isn't enabled #95 @@ -547,8 +513,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added Windows CE detection #92 - Added missing value_ptr for quaternions #99 ---- -### GLM 0.9.4.4 - 2013-05-29 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.4 - 2013-05-29 - Fixed slerp when costheta is close to 1 #65 - Fixed mat4x2 value_type constructor #70 - Fixed glm.natvis for Visual C++ 12 #82 @@ -559,8 +525,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed GLM_GTX_multiple with negative values #79 - Fixed glm::perspective when zNear is zero #71 ---- -### GLM 0.9.4.3 - 2013-03-20 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.3 - 2013-03-20 - Detected qualifier for Clang - Fixed C++11 mode for GCC, couldn't be enabled without MS extensions - Fixed squad, intermediate and exp quaternion functions @@ -572,8 +538,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Autodetected C++ version using __cplusplus value - Fixed mix for bool and bvec* third parameter ---- -### GLM 0.9.4.2 - 2013-02-14 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.2 - 2013-02-14 - Fixed compAdd from GTX_component_wise - Fixed SIMD support for Intel compiler on Windows - Fixed isnan and isinf for CUDA compiler @@ -586,8 +552,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed documentation warnings - Fixed CUDA warnings ---- -### GLM 0.9.4.1 - 2012-12-22 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.1 - 2012-12-22 - Improved half support: -0.0 case and implicit conversions - Fixed Intel Composer Compiler support on Linux - Fixed interaction between quaternion and euler angles @@ -598,8 +564,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed assert messages - Added slerp and lerp quaternion functions and tests ---- -### GLM 0.9.4.0 - 2012-11-18 +-------------------------------------------------------------------------------- +#### GLM 0.9.4.0 - 2012-11-18 - Added Intel Composer Compiler support - Promoted GTC_espilon extension - Promoted GTC_ulp extension @@ -607,10 +573,9 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Added GLM_FORCE_RADIANS so that all functions takes radians for arguments - Fixed detection of Clang and LLVM GCC on MacOS X - Added debugger visualizers for Visual C++ 2012 -- Requires Visual Studio 2005, GCC 4.2, Clang 2.6, Cuda 3, ICC 2013 or a C++98 compiler ---- -### [GLM 0.9.3.4](https://github.com/g-truc/glm/releases/tag/0.9.3.4) - 2012-06-30 +-------------------------------------------------------------------------------- +#### [GLM 0.9.3.4](https://github.com/g-truc/glm/releases/tag/0.9.3.4) - 2012-06-30 - Added SSE4 and AVX2 detection. - Removed VIRTREV_xstream and the incompatibility generated with GCC - Fixed C++11 compiler option for GCC @@ -619,8 +584,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed warnings - Fixed SSE includes ---- -### GLM 0.9.3.3 - 2012-05-10 +-------------------------------------------------------------------------------- +#### GLM 0.9.3.3 - 2012-05-10 - Fixed isinf and isnan - Improved compatibility with Intel compiler - Added CMake test build options: SIMD, C++11, fast math and MS land ext @@ -631,28 +596,28 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed various warnings - Added VC11 support ---- -### GLM 0.9.3.2 - 2012-03-15 +-------------------------------------------------------------------------------- +#### GLM 0.9.3.2 - 2012-03-15 - Fixed doxygen documentation - Fixed Clang version detection - Fixed simd mat4 /= operator ---- -### GLM 0.9.3.1 - 2012-01-25 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.9.3.B - 2011-12-12 - Added support for Chrone Native Client - Added epsilon constant - Removed value_size function from vector types @@ -662,8 +627,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) - Fixed step function accuracy - Fixed outerProduct ---- -### GLM 0.9.3.A - 2011-11-11 +-------------------------------------------------------------------------------- +#### 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 @@ -677,47 +642,47 @@ generation distribution - Fixed half based type contructors - Added GLSL core noise functions ---- -### [GLM 0.9.2.7](https://github.com/g-truc/glm/releases/tag/0.9.2.7) - 2011-10-24 +-------------------------------------------------------------------------------- +#### [GLM 0.9.2.7](https://github.com/g-truc/glm/releases/tag/0.9.2.7) - 2011-10-24 - Added more swizzling constructors - Added missing none-squared matrix products ---- -### [GLM 0.9.2.6](https://github.com/g-truc/glm/releases/tag/0.9.2.6) - 2011-10-01 +-------------------------------------------------------------------------------- +#### [GLM 0.9.2.6](https://github.com/g-truc/glm/releases/tag/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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.9.2.4 - 2011-09-03 - Fixed extensions bugs ---- -### GLM 0.9.2.3 - 2011-06-08 +-------------------------------------------------------------------------------- +#### GLM 0.9.2.3 - 2011-06-08 - Fixed build issues ---- -### GLM 0.9.2.2 - 2011-06-02 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.9.2.0 - 2011-05-09 - Added CUDA support - Added CTest test suite - Added GLM_GTX_ulp extension @@ -725,35 +690,35 @@ generation distribution - Added GLM_GTX_matrix_interpolation extension - Updated quaternion slerp interpolation ---- -### [GLM 0.9.1.3](https://github.com/g-truc/glm/releases/tag/0.9.1.3) - 2011-05-07 +-------------------------------------------------------------------------------- +#### [GLM 0.9.1.3](https://github.com/g-truc/glm/releases/tag/0.9.1.3) - 2011-05-07 - Fixed bugs ---- -### GLM 0.9.1.2 - 2011-04-15 +-------------------------------------------------------------------------------- +#### GLM 0.9.1.2 - 2011-04-15 - Fixed bugs ---- -### GLM 0.9.1.1 - 2011-03-17 +-------------------------------------------------------------------------------- +#### GLM 0.9.1.1 - 2011-03-17 - Fixed bugs ---- -### GLM 0.9.1.0 - 2011-03-03 +-------------------------------------------------------------------------------- +#### GLM 0.9.1.0 - 2011-03-03 - Fixed bugs ---- -### GLM 0.9.1.B - 2011-02-13 +-------------------------------------------------------------------------------- +#### GLM 0.9.1.B - 2011-02-13 - Updated API documentation - Improved SIMD implementation - Fixed Linux build ---- -### [GLM 0.9.0.8](https://github.com/g-truc/glm/releases/tag/0.9.0.8) - 2011-02-13 +-------------------------------------------------------------------------------- +#### [GLM 0.9.0.8](https://github.com/g-truc/glm/releases/tag/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 +-------------------------------------------------------------------------------- +#### 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 @@ -761,258 +726,258 @@ generation distribution - Reduced branching - Fixed trunc implementation ---- -### [GLM 0.9.0.7](https://github.com/g-truc/glm/releases/tag/0.9.0.7) - 2011-01-30 +-------------------------------------------------------------------------------- +#### [GLM 0.9.0.7](https://github.com/g-truc/glm/releases/tag/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 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.6 - 2010-12-21 - Many matrices bugs fixed ---- -### GLM 0.9.0.5 - 2010-11-01 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.5 - 2010-11-01 - Improved Clang support - Fixed bugs ---- -### GLM 0.9.0.4 - 2010-10-04 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.4 - 2010-10-04 - Added autoexp for GLM - Fixed bugs ---- -### GLM 0.9.0.3 - 2010-08-26 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.3 - 2010-08-26 - Fixed non-squared matrix operators ---- -### GLM 0.9.0.2 - 2010-07-08 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.1 - 2010-06-21 - Fixed extensions errors ---- -### GLM 0.9.0.0 - 2010-05-25 +-------------------------------------------------------------------------------- +#### GLM 0.9.0.0 - 2010-05-25 - Objective-C support - Fixed warnings - Updated documentation ---- -### GLM 0.9.B.2 - 2010-04-30 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.9.A.1 - 2010-02-09 - Removed deprecated features - Internal redesign ---- -### GLM 0.8.4.4 final - 2010-01-25 +-------------------------------------------------------------------------------- +#### GLM 0.8.4.4 final - 2010-01-25 - Fixed warnings ---- -### GLM 0.8.4.3 final - 2009-11-16 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.8.4.2 final - 2009-10-19 - Fixed Half float adds ---- -### GLM 0.8.4.1 final - 2009-10-05 +-------------------------------------------------------------------------------- +#### GLM 0.8.4.1 final - 2009-10-05 - Updated documentation - Fixed MacOS X build ---- -### GLM 0.8.4.0 final - 2009-09-16 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.8.3.5 final - 2009-08-11 - Fixed bugs ---- -### GLM 0.8.3.4 final - 2009-08-10 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.8.3.3 final - 2009-06-25 - Fixed bugs ---- -### GLM 0.8.3.2 final - 2009-06-04 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.8.3.1 final - 2009-05-21 - Fixed old extension system. ---- -### GLM 0.8.3.0 final - 2009-05-06 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.8.2.3 final - 2009-04-01 - Fixed bugs. ---- -### GLM 0.8.2.2 final - 2009-02-24 +-------------------------------------------------------------------------------- +#### GLM 0.8.2.2 final - 2009-02-24 - Fixed bugs. ---- -### GLM 0.8.2.1 final - 2009-02-13 +-------------------------------------------------------------------------------- +#### GLM 0.8.2.1 final - 2009-02-13 - Fixed bugs. ---- -### GLM 0.8.2 final - 2009-01-21 +-------------------------------------------------------------------------------- +#### GLM 0.8.2 final - 2009-01-21 - Fixed bugs. ---- -### GLM 0.8.1 final - 2008-10-30 +-------------------------------------------------------------------------------- +#### GLM 0.8.1 final - 2008-10-30 - Fixed bugs. ---- -### GLM 0.8.0 final - 2008-10-23 +-------------------------------------------------------------------------------- +#### GLM 0.8.0 final - 2008-10-23 - New method to use extension. ---- -### GLM 0.8.0 beta3 - 2008-10-10 +-------------------------------------------------------------------------------- +#### GLM 0.8.0 beta3 - 2008-10-10 - Added CMake support for GLM tests. ---- -### GLM 0.8.0 beta2 - 2008-10-04 +-------------------------------------------------------------------------------- +#### GLM 0.8.0 beta2 - 2008-10-04 - Improved half scalars and vectors support. ---- -### GLM 0.8.0 beta1 - 2008-09-26 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.7.4 final - 2008-06-01 - Added external dependencies system. ---- -### GLM 0.7.3 final - 2008-05-24 +-------------------------------------------------------------------------------- +#### GLM 0.7.3 final - 2008-05-24 - Fixed bugs - Added new extension group ---- -### GLM 0.7.2 final - 2008-04-27 +-------------------------------------------------------------------------------- +#### GLM 0.7.2 final - 2008-04-27 - Updated documentation - Added preprocessor options ---- -### GLM 0.7.1 final - 2008-03-24 +-------------------------------------------------------------------------------- +#### GLM 0.7.1 final - 2008-03-24 - Disabled half on GCC - Fixed extensions ---- -### GLM 0.7.0 final - 2008-03-22 +-------------------------------------------------------------------------------- +#### GLM 0.7.0 final - 2008-03-22 - Changed to MIT license - Added new documentation ---- -### GLM 0.6.4 - 2007-12-10 +-------------------------------------------------------------------------------- +#### GLM 0.6.4 - 2007-12-10 - Fixed swizzle operators ---- -### GLM 0.6.3 - 2007-11-05 +-------------------------------------------------------------------------------- +#### GLM 0.6.3 - 2007-11-05 - Fixed type data accesses - Fixed 3DSMax sdk conflict ---- -### GLM 0.6.2 - 2007-10-08 +-------------------------------------------------------------------------------- +#### GLM 0.6.2 - 2007-10-08 - Fixed extension ---- -### GLM 0.6.1 - 2007-10-07 +-------------------------------------------------------------------------------- +#### GLM 0.6.1 - 2007-10-07 - Fixed a namespace error - Added extensions ---- -### GLM 0.6.0 : 2007-09-16 +-------------------------------------------------------------------------------- +#### GLM 0.6.0 : 2007-09-16 - Added new extension namespace mecanium - Added Automatic compiler detection ---- -### GLM 0.5.1 - 2007-02-19 +-------------------------------------------------------------------------------- +#### GLM 0.5.1 - 2007-02-19 - Fixed swizzle operators ---- -### GLM 0.5.0 - 2007-01-06 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.4.1 - 2006-05-22 - Added OpenGL examples ---- -### GLM 0.4.0 - 2006-05-17 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.3.2 - 2006-04-21 - Fixed texcoord components access. - Fixed mat4 and imat4 division operators. ---- -### GLM 0.3.1 - 2006-03-28 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### 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 +-------------------------------------------------------------------------------- +#### GLM 0.1 - 2005-02-21 - Add vec2, vec3, vec4 GLSL types - Add ivec2, ivec3, ivec4 GLSL types - Add bvec2, bvec3, bvec4 GLSL types |
