Skip to content

Releases: g-truc/glm

GLM 0.9.9.0

22 May 08:38
Compare
Choose a tag to compare

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 GTX_exterior_product with a vec2 cross implementation #621
  • Added GTX_matrix_factorisation to factor matrices in various forms #654
  • Added GLM_ENABLE_EXPERIMENTAL to enable experimental features.
  • Added packing functions for integer vectors #639
  • Added conan packaging configuration #643 #641
  • Added quatLookAt to GTX_quaternion #659
  • Added fmin, fmax and fclamp to GTX_extended_min_max #372
  • Added EXT_vector_relational: extend equal and notEqual to take an epsilon argument
  • Added EXT_vector_relational: openBounded and closeBounded
  • Added EXT_vec1: *vec1 types
  • Added GTX_texture: levels function
  • Added spearate functions to use both nagative one and zero near clip plans #680
  • Added GLM_FORCE_SINGLE_ONLY to use GLM on platforms that don't support double #627
  • Added GTX_easing for interpolation functions #761

Improvements:

  • No more default initialization of vector, matrix and quaternion types
  • Added lowp variant of GTC_color_space convertLinearToSRGB #419
  • Replaced the manual by a markdown version #458
  • Improved API documentation #668
  • 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
  • Added error for including of different versions of GLM #619
  • Added GLM_FORCE_IGNORE_VERSION to ignore error caused by including different version of GLM #619
  • Reduced warnings when using very strict compilation flags #646
  • length() member functions are constexpr #657
  • Added support of -Weverything with Clang #646
  • Improved exponential funtion test coverage
  • Enabled warnings as error with Clang unit tests
  • Conan package is an external repository: https://github.com/bincrafters/conan-glm
  • Clarify quat_cast documentation, applying on pure rotation matrices #759

Fixes:

  • Removed doxygen references to GTC_half_float which was removed in 0.9.4
  • Fixed glm::decompose #448
  • Fixed intersectRayTriangle #6
  • Fixed dual quaternion != operator #629
  • Fixed usused variable warning in GTX_spline #618
  • Fixed references to GLM_FORCE_RADIANS which was removed #642
  • Fixed glm::fastInverseSqrt to use fast inverse square #640
  • Fixed axisAngle NaN #638
  • Fixed integer pow from GTX_integer with null exponent #658
  • Fixed quat normalize build error #656
  • Fixed Visual C++ 2017.2 warning regarding __has_feature definision #655
  • Fixed documentation warnings
  • Fixed GLM_HAS_OPENMP when OpenMP is not enabled
  • Fixed Better follow GLSL min and max specification #372
  • Fixed quaternion constructor from two vectors special cases #469
  • Fixed glm::to_string on quaternions wrong components order #681
  • Fixed acsch #698
  • Fixed isnan on CUDA #727

Deprecation:

  • Removed default initialization, use GLM_FORCE_CTOR_INIT to restore the old behavior
  • 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
  • Removed GLM_FORCE_NO_CTOR_INIT
  • Removed glm::uninitialize

GLM 0.9.8.5

16 Aug 18:43
Compare
Choose a tag to compare
Features:
  • Added Conan package support #647
Fixes:
  • Fixed Clang version detection from source #608
  • Fixed packF3x9_E1x5 exponent packing #614
  • Fixed build error min and max specializations with integer #616
  • Fixed simd_mat4 build error #652

GLM 0.9.8.4

22 Jan 11:22
Compare
Choose a tag to compare
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
  • Fixed GCC 6.2 compiler warnings #580
  • Fixed GTX_matrix_decompose decompose #582 #448
  • Fixed GCC 4.5 and older build #566
  • 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

12 Nov 11:12
Compare
Choose a tag to compare
Improvements:
  • Broader support of GLM_FORCE_UNRESTRICTED_GENTYPE #378
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

01 Nov 08:25
Compare
Choose a tag to compare
Improvements:
  • Added Visual C++ 15 detection
  • Added Clang 4.0 detection
  • Added warning messages when using GLM_FORCE_CXX** but the compiler
    is known to not fully support the requested C++ version #555
  • Refactored GLM_COMPILER_VC values
  • Made quat, vec, mat type component length() static #565
Fixes:
  • Fixed Visual C++ constexpr build error #555, #556

GLM 0.9.8.1

25 Sep 10:06
Compare
Choose a tag to compare
Improvements:
  • Optimized quaternion log function #554
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

11 Sep 11:03
Compare
Choose a tag to compare
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
  • Added (un)packHalf to GTC_packing
  • Added (un)packUnorm and (un)packSnorm to GTC_packing
  • Added 16bit pack and unpack to GTC_packing
  • Added 8bit pack and unpack to GTC_packing
  • Added missing bvec* && and || operators
  • Added iround and uround to GTC_integer, fast round on positive values
  • Added raw SIMD API
  • Added 'aligned' qualifiers
  • Added GTC_type_aligned with aligned vec types
  • Added GTC_functions extension
  • Added quaternion version of isnan and isinf #521
  • Added lowestBitValue to GTX_bit #536
  • Added GLM_FORCE_UNRESTRICTED_GENTYPE allowing non basic genType #543
Improvements:
  • Improved SIMD and swizzle operators interactions with GCC and Clang #474
  • Improved GTC_random linearRand documentation
  • Improved GTC_reciprocal documentation
  • Improved GLM_FORCE_EXPLICIT_CTOR coverage #481
  • Improved OpenMP support detection for Clang, GCC, ICC and VC
  • Improved GTX_wrap for SIMD friendliness
  • Added constexpr for vec, mat, quat and dual_quat types #493
  • Added NEON instruction set detection
  • Added MIPS CPUs detection
  • Added PowerPC CPUs detection
  • Use Cuda built-in function for abs function implementation with Cuda compiler
  • Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG
  • No more warnings for use of long long
  • Added more information to build messages
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
  • Fixed sign with signed integer function on non-x86 architecture
  • Fixed strict aliasing warnings #473
  • 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 GLM_GTX_io for Cuda #547 #546
Deprecation:
  • Removed GLM_FORCE_SIZE_FUNC define
  • Deprecated GLM_GTX_simd_vec4 extension
  • Deprecated GLM_GTX_simd_mat4 extension
  • Deprecated GLM_GTX_simd_quat extension
  • Deprecated GLM_SWIZZLE, use GLM_FORCE_SWIZZLE instead
  • Deprecated GLM_MESSAGES, use GLM_FORCE_MESSAGES instead

GLM 0.9.7.6

16 Jul 18:49
Compare
Choose a tag to compare
Improvements:
  • Added pkg-config file #509
  • Updated list of compiler versions detected
  • Improved C++ 11 STL detection #523
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

24 May 20:38
Compare
Choose a tag to compare
Improvements:
  • Added Visual C++ Clang toolset detection
Fixes:
  • Fixed uaddCarry warning #497
  • Fixed roundPowerOfTwo and floorPowerOfTwo #503
  • Fixed Visual C++ SIMD instruction set automatic detection in 64 bits
  • Fixed to_string when used with GLM_FORCE_INLINE #506
  • Fixed GLM_FORCE_INLINE with binary vec4 operators

GLM 0.9.7.4

19 Mar 13:23
Compare
Choose a tag to compare
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
  • Fixed eulerAngles precision error, returns NaN #451
  • Fixed undefined reference errors #489
  • Fixed missing GLM_PLATFORM_CYGWIN declaration #495
  • Fixed various undefined reference errors #490