readme.txt 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874
  1. ================================================================================
  2. OpenGL Mathematics (GLM)
  3. --------------------------------------------------------------------------------
  4. GLM can be distributed and/or modified under the terms of either
  5. a) The Happy Bunny License, or b) the MIT License.
  6. ================================================================================
  7. The Happy Bunny License (Modified MIT License)
  8. --------------------------------------------------------------------------------
  9. Copyright (c) 2005 - 2015 G-Truc Creation
  10. Permission is hereby granted, free of charge, to any person obtaining a copy
  11. of this software and associated documentation files (the "Software"), to deal
  12. in the Software without restriction, including without limitation the rights
  13. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  14. copies of the Software, and to permit persons to whom the Software is
  15. furnished to do so, subject to the following conditions:
  16. The above copyright notice and this permission notice shall be included in
  17. all copies or substantial portions of the Software.
  18. Restrictions:
  19. By making use of the Software for military purposes, you choose to make a
  20. Bunny unhappy.
  21. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  27. THE SOFTWARE.
  28. ================================================================================
  29. The MIT License
  30. --------------------------------------------------------------------------------
  31. Copyright (c) 2005 - 2015 G-Truc Creation
  32. Permission is hereby granted, free of charge, to any person obtaining a copy
  33. of this software and associated documentation files (the "Software"), to deal
  34. in the Software without restriction, including without limitation the rights
  35. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  36. copies of the Software, and to permit persons to whom the Software is
  37. furnished to do so, subject to the following conditions:
  38. The above copyright notice and this permission notice shall be included in
  39. all copies or substantial portions of the Software.
  40. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  41. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  42. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  43. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  44. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  45. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  46. THE SOFTWARE.
  47. ================================================================================
  48. GLM Usage
  49. --------------------------------------------------------------------------------
  50. GLM is a header only library, there is nothing to build, just include it.
  51. #include <glm/glm.hpp>
  52. More informations in GLM manual:
  53. http://glm.g-truc.net/glm.pdf
  54. ================================================================================
  55. GLM 0.9.6.4: 2015-0X-XX
  56. --------------------------------------------------------------------------------
  57. Fixes:
  58. ================================================================================
  59. GLM 0.9.6.3: 2015-02-15
  60. --------------------------------------------------------------------------------
  61. Fixes:
  62. - Fixed Android doesn't have C++ 11 STL #284
  63. ================================================================================
  64. GLM 0.9.6.2: 2015-02-15
  65. --------------------------------------------------------------------------------
  66. Features:
  67. - Added display of GLM version with other GLM_MESSAGES
  68. - Added ARM instruction set detection
  69. Improvements:
  70. - Removed assert for perspective with zFar < zNear #298
  71. - Added Visual Studio natvis support for vec1, quat and dualqual types
  72. - Cleaned up C++11 feature detections
  73. - Clarify GLM licensing
  74. Fixes:
  75. - Fixed faceforward build #289
  76. - Fixed conflict with Xlib #define True 1 #293
  77. - Fixed decompose function VS2010 templating issues #294
  78. - Fixed mat4x3 = mat2x3 * mat4x2 operator #297
  79. - Fixed warnings in F2x11_1x10 packing function in GTC_packing #295
  80. - Fixed Visual Studio natvis support for vec4 #288
  81. - Fixed GTC_packing *pack*norm*x* build and added tests #292
  82. - Disabled GTX_scalar_multiplication for GCC, failing to build tests #242
  83. - Fixed Visual C++ 2015 constexpr errors: Disabled only partial support
  84. - Fixed functions not inlined with Clang #302
  85. - Fixed memory corruption (undefined behaviour) #303
  86. ================================================================================
  87. GLM 0.9.6.1: 2014-12-10
  88. --------------------------------------------------------------------------------
  89. Features:
  90. - Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags
  91. - Added C++14 detection
  92. Improvements:
  93. - Clean up GLM_MESSAGES compilation log to report only detected capabilities
  94. Fixes:
  95. - Fixed scalar uaddCarry build error with Cuda #276
  96. - Fixed C++11 explicit conversion operators detection #282
  97. - Fixed missing explicit convertion when using integer log2 with *vec1 types
  98. - Fixed 64 bits integer GTX_string_cast to_string on VC 32 bit compiler
  99. - Fixed Android build issue, STL C++11 is not supported by the NDK #284
  100. - Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10
  101. - Fixed Visual C++ 32 bit build #283
  102. - Fixed GLM_FORCE_SIZE_FUNC pragma message
  103. - Fixed C++98 only build
  104. - Fixed conflict between GTX_compatibility and GTC_quaternion #286
  105. - Fixed C++ language restriction using GLM_FORCE_CXX**
  106. ================================================================================
  107. GLM 0.9.6.0: 2014-11-30
  108. --------------------------------------------------------------------------------
  109. Features:
  110. - Exposed template vector and matrix types in 'glm' namespace #239, #244
  111. - Added GTX_scalar_multiplication for C++ 11 compiler only #242
  112. - Added GTX_range for C++ 11 compiler only #240
  113. - Added closestPointOnLine function for tvec2 to GTX_closest_point #238
  114. - Added GTC_vec1 extension, *vec1 support to *vec* types
  115. - Updated GTX_associated_min_max with vec1 support
  116. - Added support of precision and integers to linearRand #230
  117. - Added Integer types support to GTX_string_cast #249
  118. - Added vec3 slerp #237
  119. - Added GTX_common with isdenomal #223
  120. - Added GLM_FORCE_SIZE_FUNC to replace .length() by .size() #245
  121. - Added GLM_FORCE_NO_CTOR_INIT
  122. - Added 'uninitialize' to explicitly not initialize a GLM type
  123. - Added GTC_bitfield extension, promoted GTX_bit
  124. - Added GTC_integer extension, promoted GTX_bit and GTX_integer
  125. - Added GTC_round extension, promoted GTX_bit
  126. - Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269
  127. - Added GTX_type_aligned for aligned vector, matrix and quaternion types
  128. Improvements:
  129. - Rely on C++11 to implement isinf and isnan
  130. - Removed GLM_FORCE_CUDA, Cuda is implicitly detected
  131. - Separated Apple Clang and LLVM compiler detection
  132. - Used pragma once
  133. - Undetected C++ compiler automatically compile with GLM_FORCE_CXX98 and
  134. GLM_FORCE_PURE
  135. - Added not function (from GLSL specification) on VC12
  136. - Optimized bitfieldReverse and bitCount functions
  137. - Optimized findLSB and findMSB functions.
  138. - Optimized matrix-vector multiple performance with Cuda #257, #258
  139. - Reduced integer type redifinitions #233
  140. - Rewrited of GTX_fast_trigonometry #264 #265
  141. - Made types trivially copyable #263
  142. - Removed <iostream> in GLM tests
  143. - Used std features within GLM without redeclaring
  144. - Optimized cot function #272
  145. - Optimized sign function #272
  146. - Added explicit cast from quat to mat3 and mat4 #275
  147. Fixes:
  148. - Fixed std::nextafter not supported with C++11 on Android #217
  149. - Fixed missing value_type for dual quaternion
  150. - Fixed return type of dual quaternion length
  151. - Fixed infinite loop in isfinite function with GCC #221
  152. - Fixed Visual Studio 14 compiler warnings
  153. - Fixed implicit conversion from another tvec2 type to another tvec2 #241
  154. - Fixed lack of consistency of quat and dualquat constructors
  155. - Fixed uaddCarray #253
  156. - Fixed float comparison warnings #270
  157. Deprecation:
  158. - Removed degrees for function parameters
  159. - Removed GLM_FORCE_RADIANS, active by default
  160. - Removed VC 2005 / 8 and 2008 / 9 support
  161. - Removed GCC 3.4 to 4.3 support
  162. - Removed LLVM GCC support
  163. - Removed LLVM 2.6 to 3.1 support
  164. - Removed CUDA 3.0 to 3.2 support
  165. ================================================================================
  166. GLM 0.9.5.4: 2014-06-21
  167. --------------------------------------------------------------------------------
  168. - Fixed non-utf8 character #196
  169. - Added FindGLM install for CMake #189
  170. - Fixed GTX_color_space - saturation #195
  171. - Fixed glm::isinf and glm::isnan for with Android NDK 9d #191
  172. - Fixed builtin GLM_ARCH_SSE4 #204
  173. - Optimized Quaternion vector rotation #205
  174. - Fixed missing doxygen @endcond tag #211
  175. - Fixed instruction set detection with Clang #158
  176. - Fixed orientate3 function #207
  177. - Fixed lerp when cosTheta is close to 1 in quaternion slerp #210
  178. - Added GTX_io for io with <iostream> #144
  179. - Fixed fastDistance ambiguity #215
  180. - Fixed tweakedInfinitePerspective #208 and added user-defined epsilon to
  181. tweakedInfinitePerspective
  182. - Fixed std::copy and std::vector with GLM types #214
  183. - Fixed strict aliasing issues #212, #152
  184. - Fixed std::nextafter not supported with C++11 on Android #213
  185. - Fixed corner cases in exp and log functions for quaternions #199
  186. ================================================================================
  187. GLM 0.9.5.3: 2014-04-02
  188. --------------------------------------------------------------------------------
  189. - Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch
  190. compiler argument
  191. - Fixed GTX_raw_data code dependency
  192. - Fixed GCC instruction set detection
  193. - Added GLM_GTX_matrix_transform_2d extension (#178, #176)
  194. - Fixed CUDA issues (#169, #168, #183, #182)
  195. - Added support for all extensions but GTX_string_cast to CUDA
  196. - Fixed strict aliasing warnings in GCC 4.8.1 / Android NDK 9c (#152)
  197. - Fixed missing bitfieldInterleave definisions
  198. - Fixed usubBorrow (#171)
  199. - Fixed eulerAngle*** not consistent for right-handed coordinate system (#173)
  200. - Added full tests for eulerAngle*** functions (#173)
  201. - Added workaround for a CUDA compiler bug (#186, #185)
  202. ================================================================================
  203. GLM 0.9.5.2: 2014-02-08
  204. --------------------------------------------------------------------------------
  205. - Fixed initializer list ambiguity (#159, #160)
  206. - Fixed warnings with the Android NDK 9c
  207. - Fixed non power of two matrix products
  208. - Fixed mix function link error
  209. - Fixed SSE code included in GLM tests on "pure" platforms
  210. - Fixed undefined reference to fastInverseSqrt (#161)
  211. - Fixed GLM_FORCE_RADIANS with <glm/ext.hpp> build error (#165)
  212. - Fix dot product clamp range for vector angle functions. (#163)
  213. - Tentative fix for strict aliasing warning in GCC 4.8.1 / Android NDK 9c (#152)
  214. - Fixed GLM_GTC_constants description brief (#162)
  215. ================================================================================
  216. GLM 0.9.5.1: 2014-01-11
  217. --------------------------------------------------------------------------------
  218. - Fixed angle and orientedAngle that sometimes return NaN values (#145)
  219. - Deprecated degrees for function parameters and display a message
  220. - Added possible static_cast conversion of GLM types (#72)
  221. - Fixed error 'inverse' is not a member of 'glm' from glm::unProject (#146)
  222. - Fixed mismatch between some declarations and definitions
  223. - Fixed inverse link error when using namespace glm; (#147)
  224. - Optimized matrix inverse and division code (#149)
  225. - Added intersectRayPlane function (#153)
  226. - Fixed outerProduct return type (#155)
  227. ================================================================================
  228. GLM 0.9.5.0: 2013-12-25
  229. --------------------------------------------------------------------------------
  230. - Added forward declarations (glm/fwd.hpp) for faster compilations
  231. - Added per feature headers
  232. - Minimized GLM internal dependencies
  233. - Improved Intel Compiler detection
  234. - Added bitfieldInterleave and _mm_bit_interleave_si128 functions
  235. - Added GTX_scalar_relational
  236. - Added GTX_dual_quaternion
  237. - Added rotation function to GTX_quaternion (#22)
  238. - Added precision variation of each type
  239. - Added quaternion comparison functions
  240. - Fixed GTX_multiple for negative value
  241. - Removed GTX_ocl_type extension
  242. - Fixed post increment and decrement operators
  243. - Fixed perspective with zNear == 0 (#71)
  244. - Removed l-value swizzle operators
  245. - Cleaned up compiler detection code for unsupported compilers
  246. - Replaced C cast by C++ casts
  247. - Fixed .length() that should return a int and not a size_t
  248. - Added GLM_FORCE_SIZE_T_LENGTH and glm::length_t
  249. - Removed unnecessary conversions
  250. - Optimized packing and unpacking functions
  251. - Removed the normalization of the up argument of lookAt function (#114)
  252. - Added low precision specializations of inversesqrt
  253. - Fixed ldexp and frexp implementations
  254. - Increased assert coverage
  255. - Increased static_assert coverage
  256. - Replaced GLM traits by STL traits when possible
  257. - Allowed including individual core feature
  258. - Increased unit tests completness
  259. - Added creating of a quaternion from two vectors
  260. - Added C++11 initializer lists
  261. - Fixed umulExtended and imulExtended implementations for vector types (#76)
  262. - Fixed CUDA coverage for GTC extensions
  263. - Added GTX_io extension
  264. - Improved GLM messages enabled when defining GLM_MESSAGES
  265. - Hidden matrix _inverse function implementation detail into private section
  266. ================================================================================
  267. GLM 0.9.4.6: 2013-09-20
  268. --------------------------------------------------------------------------------
  269. - Fixed detection to select the last known compiler if newer version #106
  270. - Fixed is_int and is_uint code duplication with GCC and C++11 #107
  271. - Fixed test suite build while using Clang in C++11 mode
  272. - Added c++1y mode support in CMake test suite
  273. - Removed ms extension mode to CMake when no using Visual C++
  274. - Added pedantic mode to CMake test suite for Clang and GCC
  275. - Added use of GCC frontend on Unix for ICC and Visual C++ fronted on Windows
  276. for ICC
  277. - Added compilation errors for unsupported compiler versions
  278. - Fixed glm::orientation with GLM_FORCE_RADIANS defined #112
  279. - Fixed const ref issue on assignment operator taking a scalar parameter #116
  280. - Fixed glm::eulerAngleY implementation #117
  281. ================================================================================
  282. GLM 0.9.4.5: 2013-08-12
  283. --------------------------------------------------------------------------------
  284. - Fixed CUDA support
  285. - Fixed inclusion of intrinsics in "pure" mode #92
  286. - Fixed language detection on GCC when the C++0x mode isn't enabled #95
  287. - Fixed issue #97: register is deprecated in C++11
  288. - Fixed issue #96: CUDA issues
  289. - Added Windows CE detection #92
  290. - Added missing value_ptr for quaternions #99
  291. ================================================================================
  292. GLM 0.9.4.4: 2013-05-29
  293. --------------------------------------------------------------------------------
  294. - Fixed slerp when costheta is close to 1 #65
  295. - Fixed mat4x2 value_type constructor #70
  296. - Fixed glm.natvis for Visual C++ 12 #82
  297. - Added assert in inversesqrt to detect division by zero #61
  298. - Fixed missing swizzle operators #86
  299. - Fixed CUDA warnings #86
  300. - Fixed GLM natvis for VC11 #82
  301. - Fixed GLM_GTX_multiple with negative values #79
  302. - Fixed glm::perspective when zNear is zero #71
  303. ================================================================================
  304. GLM 0.9.4.3: 2013-03-20
  305. --------------------------------------------------------------------------------
  306. - Detected qualifier for Clang
  307. - Fixed C++11 mode for GCC, couldn't be enabled without MS extensions
  308. - Fixed squad, intermediate and exp quaternion functions
  309. - Fixed GTX_polar_coordinates euclidean function, takes a vec2 instead of a vec3
  310. - Clarify the license applying on the manual
  311. - Added a docx copy of the manual
  312. - Fixed GLM_GTX_matrix_interpolation
  313. - Fixed isnan and isinf on Android with Clang
  314. - Autodetected C++ version using __cplusplus value
  315. - Fixed mix for bool and bvec* third parameter
  316. ================================================================================
  317. GLM 0.9.4.2: 2013-02-14
  318. --------------------------------------------------------------------------------
  319. - Fixed compAdd from GTX_component_wise
  320. - Fixed SIMD support for Intel compiler on Windows
  321. - Fixed isnan and isinf for CUDA compiler
  322. - Fixed GLM_FORCE_RADIANS on glm::perspective
  323. - Fixed GCC warnings
  324. - Fixed packDouble2x32 on XCode
  325. - Fixed mix for vec4 SSE implementation
  326. - Fixed 0x2013 dash character in comments that cause issue in Windows
  327. Japanese mode
  328. - Fixed documentation warnings
  329. - Fixed CUDA warnings
  330. ================================================================================
  331. GLM 0.9.4.1: 2012-12-22
  332. --------------------------------------------------------------------------------
  333. - Improved half support: -0.0 case and implicit conversions
  334. - Fixed Intel Composer Compiler support on Linux
  335. - Fixed interaction between quaternion and euler angles
  336. - Fixed GTC_constants build
  337. - Fixed GTX_multiple
  338. - Fixed quat slerp using mix function when cosTheta close to 1
  339. - Improved fvec4SIMD and fmat4x4SIMD implementations
  340. - Fixed assert messages
  341. - Added slerp and lerp quaternion functions and tests
  342. ================================================================================
  343. GLM 0.9.4.0: 2012-11-18
  344. --------------------------------------------------------------------------------
  345. - Added Intel Composer Compiler support
  346. - Promoted GTC_espilon extension
  347. - Promoted GTC_ulp extension
  348. - Removed GLM website from the source repository
  349. - Added GLM_FORCE_RADIANS so that all functions takes radians for arguments
  350. - Fixed detection of Clang and LLVM GCC on MacOS X
  351. - Added debugger visualizers for Visual C++ 2012
  352. ================================================================================
  353. GLM 0.9.3.4: 2012-06-30
  354. --------------------------------------------------------------------------------
  355. - Added SSE4 and AVX2 detection.
  356. - Removed VIRTREV_xstream and the incompatibility generated with GCC
  357. - Fixed C++11 compiler option for GCC
  358. - Removed MS language extension option for GCC (not fonctionnal)
  359. - Fixed bitfieldExtract for vector types
  360. - Fixed warnings
  361. - Fixed SSE includes
  362. ================================================================================
  363. GLM 0.9.3.3: 2012-05-10
  364. --------------------------------------------------------------------------------
  365. - Fixed isinf and isnan
  366. - Improved compatibility with Intel compiler
  367. - Added CMake test build options: SIMD, C++11, fast math and MS land ext
  368. - Fixed SIMD mat4 test on GCC
  369. - Fixed perspectiveFov implementation
  370. - Fixed matrixCompMult for none-square matrices
  371. - Fixed namespace issue on stream operators
  372. - Fixed various warnings
  373. - Added VC11 support
  374. ================================================================================
  375. GLM 0.9.3.2: 2012-03-15
  376. --------------------------------------------------------------------------------
  377. - Fixed doxygen documentation
  378. - Fixed Clang version detection
  379. - Fixed simd mat4 /= operator
  380. ================================================================================
  381. GLM 0.9.3.1: 2012-01-25
  382. --------------------------------------------------------------------------------
  383. - Fixed platform detection
  384. - Fixed warnings
  385. - Removed detail code from Doxygen doc
  386. ================================================================================
  387. GLM 0.9.3.0: 2012-01-09
  388. --------------------------------------------------------------------------------
  389. - Added CPP Check project
  390. - Fixed conflict with Windows headers
  391. - Fixed isinf implementation
  392. - Fixed Boost conflict
  393. - Fixed warnings
  394. ================================================================================
  395. GLM 0.9.3.B: 2011-12-12
  396. --------------------------------------------------------------------------------
  397. - Added support for Chrone Native Client
  398. - Added epsilon constant
  399. - Removed value_size function from vector types
  400. - Fixed roundEven on GCC
  401. - Improved API documentation
  402. - Fixed modf implementation
  403. - Fixed step function accuracy
  404. - Fixed outerProduct
  405. ================================================================================
  406. GLM 0.9.3.A: 2011-11-11
  407. --------------------------------------------------------------------------------
  408. - Improved doxygen documentation
  409. - Added new swizzle operators for C++11 compilers
  410. - Added new swizzle operators declared as functions
  411. - Added GLSL 4.20 length for vector and matrix types
  412. - Promoted GLM_GTC_noise extension: simplex, perlin, periodic noise functions
  413. - Promoted GLM_GTC_random extension: linear, gaussian and various random number
  414. generation distribution
  415. - Added GLM_GTX_constants: provides usefull constants
  416. - Added extension versioning
  417. - Removed many unused namespaces
  418. - Fixed half based type contructors
  419. - Added GLSL core noise functions
  420. ================================================================================
  421. GLM 0.9.2.7: 2011-10-24
  422. --------------------------------------------------------------------------------
  423. - Added more swizzling constructors
  424. - Added missing none-squared matrix products
  425. ================================================================================
  426. GLM 0.9.2.6: 2011-10-01
  427. --------------------------------------------------------------------------------
  428. - Fixed half based type build on old GCC
  429. - Fixed /W4 warnings on Visual C++
  430. - Fixed some missing l-value swizzle operators
  431. ================================================================================
  432. GLM 0.9.2.5: 2011-09-20
  433. --------------------------------------------------------------------------------
  434. - Fixed floatBitToXint functions
  435. - Fixed pack and unpack functions
  436. - Fixed round functions
  437. ================================================================================
  438. GLM 0.9.2.4: 2011-09-03
  439. --------------------------------------------------------------------------------
  440. - Fixed extensions bugs
  441. ================================================================================
  442. GLM 0.9.2.3: 2011-06-08
  443. --------------------------------------------------------------------------------
  444. - Fixed build issues
  445. ================================================================================
  446. GLM 0.9.2.2: 2011-06-02
  447. --------------------------------------------------------------------------------
  448. - Expend matrix constructors flexibility
  449. - Improved quaternion implementation
  450. - Fixed many warnings across platforms and compilers
  451. ================================================================================
  452. GLM 0.9.2.1: 2011-05-24
  453. --------------------------------------------------------------------------------
  454. - Automatically detect CUDA support
  455. - Improved compiler detection
  456. - Fixed errors and warnings in VC with C++ extensions disabled
  457. - Fixed and tested GLM_GTX_vector_angle
  458. - Fixed and tested GLM_GTX_rotate_vector
  459. ================================================================================
  460. GLM 0.9.2.0: 2011-05-09
  461. --------------------------------------------------------------------------------
  462. - Added CUDA support
  463. - Added CTest test suite
  464. - Added GLM_GTX_ulp extension
  465. - Added GLM_GTX_noise extension
  466. - Added GLM_GTX_matrix_interpolation extension
  467. - Updated quaternion slerp interpolation
  468. ================================================================================
  469. GLM 0.9.1.3: 2011-05-07
  470. --------------------------------------------------------------------------------
  471. - Fixed bugs
  472. ================================================================================
  473. GLM 0.9.1.2: 2011-04-15
  474. --------------------------------------------------------------------------------
  475. - Fixed bugs
  476. ================================================================================
  477. GLM 0.9.1.1: 2011-03-17
  478. --------------------------------------------------------------------------------
  479. - Fixed bugs
  480. ================================================================================
  481. GLM 0.9.1.0: 2011-03-03
  482. --------------------------------------------------------------------------------
  483. - Fixed bugs
  484. ================================================================================
  485. GLM 0.9.1.B: 2011-02-13
  486. --------------------------------------------------------------------------------
  487. - Updated API documentation
  488. - Improved SIMD implementation
  489. - Fixed Linux build
  490. ================================================================================
  491. GLM 0.9.0.8: 2011-02-13
  492. --------------------------------------------------------------------------------
  493. - Added quaternion product operator.
  494. - Clarify that GLM is a header only library.
  495. ================================================================================
  496. GLM 0.9.1.A: 2011-01-31
  497. --------------------------------------------------------------------------------
  498. - Added SIMD support
  499. - Added new swizzle functions
  500. - Improved static assert error message with C++0x static_assert
  501. - New setup system
  502. - Reduced branching
  503. - Fixed trunc implementation
  504. ================================================================================
  505. GLM 0.9.0.7: 2011-01-30
  506. --------------------------------------------------------------------------------
  507. - Added GLSL 4.10 packing functions
  508. - Added == and != operators for every types.
  509. ================================================================================
  510. GLM 0.9.0.6: 2010-12-21
  511. --------------------------------------------------------------------------------
  512. - Many matrices bugs fixed
  513. ================================================================================
  514. GLM 0.9.0.5: 2010-11-01
  515. --------------------------------------------------------------------------------
  516. - Improved Clang support
  517. - Fixed bugs
  518. ================================================================================
  519. GLM 0.9.0.4: 2010-10-04
  520. --------------------------------------------------------------------------------
  521. - Added autoexp for GLM
  522. - Fixed bugs
  523. ================================================================================
  524. GLM 0.9.0.3: 2010-08-26
  525. --------------------------------------------------------------------------------
  526. - Fixed non-squared matrix operators
  527. ================================================================================
  528. GLM 0.9.0.2: 2010-07-08
  529. --------------------------------------------------------------------------------
  530. - Added GLM_GTX_int_10_10_10_2
  531. - Fixed bugs
  532. ================================================================================
  533. GLM 0.9.0.1: 2010-06-21
  534. --------------------------------------------------------------------------------
  535. - Fixed extensions errors
  536. ================================================================================
  537. GLM 0.9.0.0: 2010-05-25
  538. --------------------------------------------------------------------------------
  539. - Objective-C support
  540. - Fixed warnings
  541. - Updated documentation
  542. ================================================================================
  543. GLM 0.9.B.2: 2010-04-30
  544. --------------------------------------------------------------------------------
  545. - Git transition
  546. - Removed experimental code from releases
  547. - Fixed bugs
  548. ================================================================================
  549. GLM 0.9.B.1: 2010-04-03
  550. --------------------------------------------------------------------------------
  551. - Based on GLSL 4.00 specification
  552. - Added the new core functions
  553. - Added some implicit conversion support
  554. ================================================================================
  555. GLM 0.9.A.2: 2010-02-20
  556. --------------------------------------------------------------------------------
  557. - Improved some possible errors messages
  558. - Improved declarations and definitions match
  559. ================================================================================
  560. GLM 0.9.A.1: 2010-02-09
  561. --------------------------------------------------------------------------------
  562. - Removed deprecated features
  563. - Internal redesign
  564. ================================================================================
  565. GLM 0.8.4.4 final: 2010-01-25
  566. --------------------------------------------------------------------------------
  567. - Fixed warnings
  568. ================================================================================
  569. GLM 0.8.4.3 final: 2009-11-16
  570. --------------------------------------------------------------------------------
  571. - Fixed Half float arithmetic
  572. - Fixed setup defines
  573. ================================================================================
  574. GLM 0.8.4.2 final: 2009-10-19
  575. --------------------------------------------------------------------------------
  576. - Fixed Half float adds
  577. ================================================================================
  578. GLM 0.8.4.1 final: 2009-10-05
  579. --------------------------------------------------------------------------------
  580. - Updated documentation
  581. - Fixed MacOS X build
  582. ================================================================================
  583. GLM 0.8.4.0 final: 2009-09-16
  584. --------------------------------------------------------------------------------
  585. - Added GCC 4.4 and VC2010 support
  586. - Added matrix optimizations
  587. ================================================================================
  588. GLM 0.8.3.5 final: 2009-08-11
  589. --------------------------------------------------------------------------------
  590. - Fixed bugs
  591. ================================================================================
  592. GLM 0.8.3.4 final: 2009-08-10
  593. --------------------------------------------------------------------------------
  594. - Updated GLM according GLSL 1.5 spec
  595. - Fixed bugs
  596. ================================================================================
  597. GLM 0.8.3.3 final: 2009-06-25
  598. --------------------------------------------------------------------------------
  599. - Fixed bugs
  600. ================================================================================
  601. GLM 0.8.3.2 final: 2009-06-04
  602. --------------------------------------------------------------------------------
  603. - Added GLM_GTC_quaternion
  604. - Added GLM_GTC_type_precision
  605. ================================================================================
  606. GLM 0.8.3.1 final: 2009-05-21
  607. --------------------------------------------------------------------------------
  608. - Fixed old extension system.
  609. ================================================================================
  610. GLM 0.8.3.0 final: 2009-05-06
  611. --------------------------------------------------------------------------------
  612. - Added stable extensions.
  613. - Added new extension system.
  614. ================================================================================
  615. GLM 0.8.2.3 final: 2009-04-01
  616. --------------------------------------------------------------------------------
  617. - Fixed bugs.
  618. ================================================================================
  619. GLM 0.8.2.2 final: 2009-02-24
  620. --------------------------------------------------------------------------------
  621. - Fixed bugs.
  622. ================================================================================
  623. GLM 0.8.2.1 final: 2009-02-13
  624. --------------------------------------------------------------------------------
  625. - Fixed bugs.
  626. ================================================================================
  627. GLM 0.8.2 final: 2009-01-21
  628. --------------------------------------------------------------------------------
  629. - Fixed bugs.
  630. ================================================================================
  631. GLM 0.8.1 final: 2008-10-30
  632. --------------------------------------------------------------------------------
  633. - Fixed bugs.
  634. ================================================================================
  635. GLM 0.8.0 final: 2008-10-23
  636. --------------------------------------------------------------------------------
  637. - New method to use extension.
  638. ================================================================================
  639. GLM 0.8.0 beta3: 2008-10-10
  640. --------------------------------------------------------------------------------
  641. - Added CMake support for GLM tests.
  642. ================================================================================
  643. GLM 0.8.0 beta2: 2008-10-04
  644. --------------------------------------------------------------------------------
  645. - Improved half scalars and vectors support.
  646. ================================================================================
  647. GLM 0.8.0 beta1: 2008-09-26
  648. --------------------------------------------------------------------------------
  649. - Improved GLSL conformance
  650. - Added GLSL 1.30 support
  651. - Improved API documentation
  652. ================================================================================
  653. GLM 0.7.6 final: 2008-08-08
  654. --------------------------------------------------------------------------------
  655. - Improved C++ standard comformance
  656. - Added Static assert for types checking
  657. ================================================================================
  658. GLM 0.7.5 final: 2008-07-05
  659. --------------------------------------------------------------------------------
  660. - Added build message system with Visual Studio
  661. - Pedantic build with GCC
  662. ================================================================================
  663. GLM 0.7.4 final: 2008-06-01
  664. --------------------------------------------------------------------------------
  665. - Added external dependencies system.
  666. ================================================================================
  667. GLM 0.7.3 final: 2008-05-24
  668. --------------------------------------------------------------------------------
  669. - Fixed bugs
  670. - Added new extension group
  671. ================================================================================
  672. GLM 0.7.2 final: 2008-04-27
  673. --------------------------------------------------------------------------------
  674. - Updated documentation
  675. - Added preprocessor options
  676. ================================================================================
  677. GLM 0.7.1 final: 2008-03-24
  678. --------------------------------------------------------------------------------
  679. - Disabled half on GCC
  680. - Fixed extensions
  681. ================================================================================
  682. GLM 0.7.0 final: 2008-03-22
  683. --------------------------------------------------------------------------------
  684. - Changed to MIT license
  685. - Added new documentation
  686. ================================================================================
  687. GLM 0.6.4 : 2007-12-10
  688. --------------------------------------------------------------------------------
  689. - Fixed swizzle operators
  690. ================================================================================
  691. GLM 0.6.3 : 2007-11-05
  692. --------------------------------------------------------------------------------
  693. - Fixed type data accesses
  694. - Fixed 3DSMax sdk conflict
  695. ================================================================================
  696. GLM 0.6.2 : 2007-10-08
  697. --------------------------------------------------------------------------------
  698. - Fixed extension
  699. ================================================================================
  700. GLM 0.6.1 : 2007-10-07
  701. --------------------------------------------------------------------------------
  702. - Fixed a namespace error
  703. - Added extensions
  704. ================================================================================
  705. GLM 0.6.0 : 2007-09-16
  706. --------------------------------------------------------------------------------
  707. - Added new extension namespace mecanium
  708. - Added Automatic compiler detection
  709. ================================================================================
  710. GLM 0.5.1 : 2007-02-19
  711. --------------------------------------------------------------------------------
  712. - Fixed swizzle operators
  713. ================================================================================
  714. GLM 0.5.0 : 2007-01-06
  715. --------------------------------------------------------------------------------
  716. - Upgrated to GLSL 1.2
  717. - Added swizzle operators
  718. - Added setup settings
  719. ================================================================================
  720. GLM 0.4.1 : 2006-05-22
  721. --------------------------------------------------------------------------------
  722. - Added OpenGL examples
  723. ================================================================================
  724. GLM 0.4.0 : 2006-05-17
  725. --------------------------------------------------------------------------------
  726. - Added missing operators to vec* and mat*
  727. - Added first GLSL 1.2 features
  728. - Fixed windows.h before glm.h when windows.h required
  729. ================================================================================
  730. GLM 0.3.2 : 2006-04-21
  731. --------------------------------------------------------------------------------
  732. - Fixed texcoord components access.
  733. - Fixed mat4 and imat4 division operators.
  734. ================================================================================
  735. GLM 0.3.1 : 2006-03-28
  736. --------------------------------------------------------------------------------
  737. - Added GCC 4.0 support under MacOS X.
  738. - Added GCC 4.0 and 4.1 support under Linux.
  739. - Added code optimisations.
  740. ================================================================================
  741. GLM 0.3 : 2006-02-19
  742. --------------------------------------------------------------------------------
  743. - Improved GLSL type conversion and construction compliance.
  744. - Added experimental extensions.
  745. - Added Doxygen Documentation.
  746. - Added code optimisations.
  747. - Fixed bugs.
  748. ================================================================================
  749. GLM 0.2: 2005-05-05
  750. --------------------------------------------------------------------------------
  751. - Improve adaptative from GLSL.
  752. - Add experimental extensions based on OpenGL extension process.
  753. - Fixe bugs.
  754. ================================================================================
  755. GLM 0.1: 2005-02-21
  756. --------------------------------------------------------------------------------
  757. - Add vec2, vec3, vec4 GLSL types
  758. - Add ivec2, ivec3, ivec4 GLSL types
  759. - Add bvec2, bvec3, bvec4 GLSL types
  760. - Add mat2, mat3, mat4 GLSL types
  761. - Add almost all functions
  762. ================================================================================