Commit Graph

2965 Commits

Author SHA1 Message Date
Christophe
fd265ff18e
Merge pull request #1092 from elect86/patch-5
Update type_vec4.hpp
2022-04-20 12:27:06 +02:00
Christophe
89d0eb1f06
Merge pull request #1094 from gottfriedleibniz/fix/mat2x3
fix mat2 constructors #1094
2022-04-20 12:26:28 +02:00
Christophe
d33344bd86
Merge pull request #1097 from gottfriedleibniz/fix/color
fix hsvColor types #1097
2022-04-20 12:25:48 +02:00
Christophe
43f2a5258b
Merge pull request #1098 from gottfriedleibniz/fix/arm
few ARM fixes #1098
2022-04-20 12:25:14 +02:00
Christophe
b2a9dae6dc
Merge pull request #1099 from Windsander/shearing
feat:    add shearing matrix operation on matrix_transfom #1099
2022-04-20 12:24:33 +02:00
Noah LeBlanc
7243647a78
Spelling mistake fix 2022-02-15 01:54:29 -05:00
Leandro Nini
970860d06f
Add missing define 2022-02-11 15:00:02 +01:00
Baldvin Kovacs
63a229359e Fix implicit conversion compiler error in glm/gtc/random.inl
/glm/gtc/random.inl:25:17: error: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Werror,-Wimplicit-int-conversion]
                                std::rand() % std::numeric_limits<uint8>::max());
                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-02-10 22:12:46 +01:00
arikanli
0f318f63af feat: add shearing matrix operation on matrix_transfom 2022-01-20 21:27:30 +08:00
Gottfried Leibniz
3062122e5e fix: associated min/max
Remove unused qualifier and fix incorrect definition
2022-01-14 19:16:44 -04:00
Gottfried Leibniz
bfeb882fdb few ARM fixes 2022-01-14 19:14:27 -04:00
Gottfried Leibniz
14e3b04274 fix hsvColor types 2021-12-27 21:09:01 -04:00
Gottfried Leibniz
b857caa655 fix mat2 constructors 2021-12-13 16:14:40 -04:00
Giuseppe Barbieri
9621e7597e
Update type_vec4.hpp 2021-11-24 10:10:51 +01:00
nishidate-yuki
c5f9b31688 Fix tengant typo 2021-11-17 14:46:17 +09:00
Gottfried Leibniz
656a699f9a fix: glm_never_inline 2021-11-11 09:28:03 -04:00
Zuzu-Typ
fcda03b545 Removed precision qualifiers from atan2 in euler_angles.inl 2021-11-03 15:41:43 +01:00
Zuzu-Typ
1ed9bd96a9
Removed invalid precision qualifiers
`saturate(T x)` and `atan2(T x, T y)` have precision qualifiers as function template parameters, but they don't use (or need) them.
Removed these two qualifiers
2021-11-03 10:30:22 +01:00
xaedes
b5456a56a3 Sort inconsistently ordered mat declarations in fwd.hpp 2021-10-26 19:10:33 +02:00
Sven Nähler
a47a719b17 Fixed: use of undeclared identifier 'vdivq_f32' while compile for ARMv7 2021-10-07 09:45:00 +02:00
jakubtyrcha
318d7f2398 Fixed error C3861: 'Lv': identifier not found
This diagnostic occurred in the compiler generated function 'glm::vec<1,T,Q> &glm::vec<1,T,Q>::operator |=(const glm::vec<1,A,Q> &)'
2021-09-18 19:26:01 +01:00
Pavel Korolev
401cc833ef Various bugfixes for aligned/simd codepaths 2021-08-08 00:43:30 +03:00
René Widera
a1d88cf991 add AMD HIP support
Add support for AMD HIP.
2021-08-05 11:54:10 +02:00
xaedes
a8b3401574
Fixed header comment
Info how to include this header file contained a wrong path. Changed it to the correct one.
2021-07-27 12:59:03 +02:00
junjie020
5f95999f32 fix frustumLH projection matrix get wrong result when left/right or top/bottom is not symmetries 2021-07-16 11:22:43 +08:00
Christophe
2759ceca04
Merge pull request #1079 from BramblePie/Change_orientedAngle_function
Change orientedAngle function #1079
2021-07-15 09:57:29 +02:00
Christophe
f0066a2acf
Merge pull request #1074 from szabolcsdombi/quaternion-constructor-parameters-fix
make quaternion constructor respect GLM_FORCE_QUAT_DATA_XYZW
2021-07-15 09:56:22 +02:00
Bram Pieters
90e85225f5 Change orientedAngle function 2021-06-24 15:03:12 +02:00
Mariusz Okulanis
eb23f89db2 fix glm::bounceEaseInOut() easing formula 2021-06-07 16:39:24 +02:00
Stéphane GINIER
f32eea1345 Fix matrix decompose (wxyz quaternion) 2021-06-01 16:16:16 +02:00
Robert Chisholm
00a195c687 BugFix: CUDA RTC support.
Someone noticed that c6dfaed would also catch GLM_COMPILER_GCC8
2021-05-19 14:15:57 +01:00
Szabolcs Dombi
820a2c0e62 make quaternion constructor respect GLM_FORCE_QUAT_DATA_XYZW 2021-05-17 08:40:22 +03:00
Christophe
dc9e555b4c
Merge pull request #1071 from sgrottel/gtx-pca
Implemented 'principle component analysis' utility in gtx #1071
2021-05-15 12:50:27 +02:00
Robert Chisholm
948ac3b825 Add missing statement.
Didn't copy this across, good thing CI caught it.
2021-05-14 10:38:02 +01:00
Robert Chisholm
aa7380ae12 Fix lint. 2021-05-13 22:33:49 +01:00
Robert Chisholm
f0f95bd3de Correctly detect NVRTC and lack of stl support. 2021-05-13 22:13:04 +01:00
SGrottel
a0ccbcc63d Added further details on the comparison issue with covariance matrices on some VMs.
Also corrected some code style guide, and changed `nullptr` to `GLM_NULLPTR` for better compatibility.
Tests are now executed in blocks of related tests, and only inbetween blocks the tests will exit.
2021-05-10 21:32:01 +02:00
SGrottel
0f5b544d5d Corrected errors on Xcode C++98 pure related to language extensions accidentially used. 2021-05-10 16:38:38 +02:00
SGrottel
b8adc27808 Removed lambdas and initializer list ctors to be compatible with older cpp standards. 2021-05-10 15:45:42 +02:00
SGrottel
dd40903b74 Implemented 'principle component analysis' utility in gtx, including tests 2021-05-10 13:14:29 +02:00
Gaoyang Zhang
59ddeb7d1c Replace GLM_FORCE_QUAT_DATA_WXYZ with GLM_FORCE_QUAT_DATA_XYZW
The default data layout for quat has been changed to w,x,y,z to agree
with order of input parameters for quat's constructor.

Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-06 14:12:41 +08:00
Gaoyang Zhang
d573bf099a Revert "Fix constructor of struct qua to honor macro "GLM_FORCE_QUAT_DATA_WXYZ""
This reverts commit f931c4996a.
2021-05-06 14:12:23 +08:00
Gaoyang Zhang
f6f3596a6b Revert "Fix construction of identity quaternion"
This reverts commit 37842c7400.
2021-05-06 14:12:22 +08:00
Gaoyang Zhang
37842c7400 Fix construction of identity quaternion
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-03 00:31:09 +08:00
Gaoyang Zhang
f931c4996a Fix constructor of struct qua to honor macro "GLM_FORCE_QUAT_DATA_WXYZ"
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-02 23:09:59 +08:00
Christophe
761a842a59
Merge pull request #1062 from tksuoran/fix-cmake
Fix CMake FetchContent usage #1062
2021-04-05 13:27:48 +02:00
Christophe
820607ad2b
Merge pull request #1064 from SergeyKrivohatskiy/fix-axisAngle-for-small-angles
Fix axis angle implementation for near zero angles and near PI angles #1064
2021-04-05 13:25:56 +02:00
René Widera
59fbd31552 fix clang CUDA compile
Fix CUDA compile issue when using clang.

```
glm/gtc/type_ptr.inl:257:22: error: __host__ function 'make_vec4' cannot overload __host__ __device__ function 'make_vec4'
6946        inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v)
```
2021-03-31 14:13:53 +02:00
Sergey Krivohatskiy
df7b5bda7c axisAngle epsilon changed to work as expected on small angles
also small refactoring
also single epsilon is used
also passes new axisAngle tests now

Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:28:36 +03:00
Sergey Krivohatskiy
c9c656ce31 axisAngle refactoring
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:27:00 +03:00
Timo Suoranta
1771b1127f Fix CMake FetchContent usage 2021-03-11 13:20:56 +02:00
Christophe
ace16e4778
Merge pull request #1060 from imgly/fix/simd-vec4-compare
Fixed the SIMD (SSE) implementation of compute_vec4_equal for floats #1060
2021-03-08 11:01:35 +01:00
Christophe
9203edd741
Merge pull request #1054 from kiroma/master
Create an install and package targets in cmake tree #1054
2021-03-08 10:55:19 +01:00
Christophe
fe9bb21f1f
Merge pull request #1058 from SergeyKrivohatskiy/patch-1
Fix in axisAngle implementation #1058
2021-03-07 09:37:42 +01:00
Christophe
bbedf96c16
Revert "Fix quaternion orientation in glm::decompose" 2021-03-06 17:12:03 +01:00
Keiwan Donyagard
a6fcdd0cbc Fixed the SIMD implementation of compute_vec4_equal for floats 2021-02-24 10:51:20 +01:00
Sergey Krivohatskiy
acab24129d
Fixed axisAngle implementation
`acos` domain is in range [-1.0, 1.0]. Due to inaccuracies the value `angleCos` may be slightly outside that range for a correct matrix and `acos(angleCos)` produces `NaN` in that case.

The fix is we check `angleCos` value and return `acos(1)` for `angleCos > 1` and `acos(-1)` for `angleCos < -1`.

The original code checked only for `angleCos` close to `1.0` and returned an incorrect value for `acos(1)`, which is `0`, not  `pi/4`.
2021-02-20 20:16:31 +03:00
Nick Dumas
2fc22e3f3e Fix squered typo
Squered -> Squared
2021-02-16 09:56:30 +08:00
nowakowsk
6437133cd2 fix: add missing transposition to adjugate for mat2 and mat4 2021-02-14 12:14:59 +01:00
Krzysztof Kurek
3a4b55020e
Make sure installed glm::glm has the includes 2021-01-31 14:50:00 +01:00
Krzysztof Kurek
e936ed35ea
Resolve issues with CMake versions 3.13 and earlier 2021-01-30 23:59:37 +01:00
Krzysztof Kurek
631faffab3
Export targets from top-level CMake file
With some slight reordering of the code
2021-01-30 23:35:37 +01:00
Krzysztof Kurek
6059c5767b
Export the GLM target 2021-01-30 21:08:48 +01:00
Gottfried Leibniz
00c4720305 fix: isIdentity for non-symmetric matrices 2020-12-06 11:26:14 -04:00
Christophe
24a4befe80 Fix build 2020-12-01 08:57:06 +01:00
Christophe
561fbbd94c Added *GLM_EXT_matrix_integer* with tests 2020-11-30 18:10:55 +01:00
Christophe
23dcea8995 Fix warnings 2020-11-24 12:00:31 +01:00
Christophe
2a8664fe50 Added and to *GLM_EXT_scalar_common* and *GLM_EXT_vector_common* 2020-11-23 17:02:32 +01:00
Christophe
2593c9c8b3 Added GLM_EXT_scalar_reciprocal and GLM_EXT_vector_reciprocal with tests 2020-11-23 15:33:36 +01:00
Christophe
1cf91a1009
Merge pull request #1012 from bosmacs/master
Fix quaternion orientation in `glm::decompose` #1012
2020-11-21 22:27:46 +01:00
Christophe
b033c73b42
Merge pull request #1019 from dscharrer/master
Fix singularity in quaternion to euler angle roll conversion #1019
2020-11-21 22:19:21 +01:00
Christophe
e8f2e98050
Merge pull request #1027 from amaury-ml/ctor_init
Change the logic of defaulted constructors #1027
2020-11-21 22:16:46 +01:00
Christophe
f52f232f59
Merge pull request #1038 from EZForever/patch-angle
fix: glm::angle() discards the sign of result for angles in range (2*pi-1, 2*pi) #1038
2020-11-21 22:06:08 +01:00
Christophe
4ae59db254
Merge pull request #1041 from lpisha/master
Remove ban on using string_cast with CUDA host code #1041
2020-11-21 21:59:09 +01:00
lpisha
051781e265
Remove ban on using string_cast with CUDA host code
string_cast.hpp merely detects whether the current compiler is NVCC (originally based on `if defined(__CUDACC__)` in glm/simd/platform.h) and throws an error if it is. This means string_cast.hpp cannot be included in any header which might ever be used in a CUDA project.

Of course, glm::to_string can't be used in device (GPU) code. However, the current approach to stop this is both incorrect and unnecessary. __CUDACC__ will be defined in both host and device code compilation, and glm::to_string can obviously be used in host code. The correct define is __CUDA_ARCH__ (will be defined only if compiling device code). However, there's no problem if glm::to_string is defined (the header is included) while compiling device code, as long as it's not actually used in the device code. So, throwing an error if __CUDA_ARCH__ is defined would still prevent string_cast.hpp from being included in CUDA projects.

There's actually no need for any manual check to see if glm::to_string is being used in device code, because the compiler will already check for that. It returns a std::string, which itself can't be used in device code, so it's unlikely a developer would try. And if they did, there would be errors that both glm::to_string and all the needed std::string constructors, stream operators, etc. are host-only functions.
2020-11-18 11:09:53 -08:00
RohacekD
ae6fa0872f Adding constexpr qualifier for cross product 2020-11-17 16:58:12 +01:00
RohacekD
6ce6cd9e26 Adding constexpr qualifier for dot product 2020-11-16 20:04:06 +01:00
Christophe
596577f200
Merge pull request #1035 from koladonia/adjugate-fix
Fixed calculation of m02 minor for mat4x4 adjugate #1035
2020-11-09 18:10:54 +01:00
Christophe
2c36db9cf7
Merge pull request #1033 from gottfriedleibniz/patch-fastnormalize
fix: fastNormalize ambiguity #1033
2020-11-09 18:06:07 +01:00
Christophe
f6574ccf71
Merge pull request #1034 from gottfriedleibniz/patch-ismultiple
fix: isMultiple #1034
2020-11-09 17:56:22 +01:00
Christophe
9e1b2dd8bf
Merge pull request #1029 from gottfriedleibniz/patch-quat
fix: missing type_quat header #1029
2020-11-09 17:54:46 +01:00
Christophe
59ae1dd57a
Merge pull request #1030 from gottfriedleibniz/patch-types
fix: spurious floats #1030
2020-11-09 17:53:59 +01:00
Christophe
cc34bc7d49
Merge pull request #1032 from gottfriedleibniz/patch-scalebias
fix: scalebias #1032
2020-11-09 17:52:56 +01:00
Christophe
0fe622b020
Merge pull request #1028 from gottfriedleibniz/patch-axisangle
fix: matrix axisAngle #1028
2020-11-09 17:51:53 +01:00
EZForever
f109b9185f Make CI happy 2020-10-29 14:02:04 +08:00
EZForever
a66b782134 fix: glm::angle() discards the sign of result for angles in range (2*pi-1, 2*pi) 2020-10-29 13:50:31 +08:00
Zuzu-Typ
b7f209b18d
Fixed unpackUnorm
Should use the same float type as defined in the template.
2020-10-04 14:40:02 +02:00
koladonia
5b23dcab71 Fixed calculation of m02 minor for mat4x4 adjugate 2020-09-30 03:29:31 +03:00
Gottfried Leibniz
ce3650f0f2 fix: isMultiple
Function declaration has it returning ``vec<L, bool, Q>``, however, the
function uses the equality operator (which only returns a bool). Usage of the
function will generate "no viable conversion ..." compilation errors.
2020-09-25 10:58:35 -03:00
Gottfried Leibniz
c00f046c85 fix: fastNormalize ambiguity
Declarations in fast_square_root.hpp do not match qualifiers
fast_square_root.inl; will generate: "call to 'fastNormalize' is ambiguous"
errors.
2020-09-24 11:27:06 -03:00
Gottfried Leibniz
593415108d fix: scalebias
template glm::qualifier 'Q' cannot be inferred; compiler will ignore it.
2020-09-23 22:56:48 -03:00
Gottfried Leibniz
ebf4e9eaa2 fix: unpackUnorm type 2020-09-22 00:40:47 -03:00
Gottfried Leibniz
96558e896b fix: intersectLineTriangle types 2020-09-22 00:37:56 -03:00
Gottfried Leibniz
c18ec93b0e fix: orientate3 types 2020-09-22 00:36:43 -03:00
Gottfried Leibniz
93e573f7b1 fix: axisAngle
invalid epsilon comparison
2020-09-22 00:35:07 -03:00
Gottfried Leibniz
d9124820ed fix: fastExp promotion
implicit conversion increases floating-point precision: 'float' to 'double'
2020-09-22 00:29:59 -03:00
Gottfried Leibniz
ebfcde733a fix: missing type_quat header
Fixes: no matching function for call to 'inverse'
2020-09-22 00:27:32 -03:00
Amaury Le Leyzour
b43fa52360 Change the logic of defaulted constructors
Defaulted functions should not impact the constructor if the user
requests GLM_FORCE_CTOR_INIT.
2020-09-02 11:45:30 -07:00
Christophe
b3f8772026
Merge pull request #1022 from qsantos/fix-small-angle-quaternion-zero-test
Fix handling of small magnitude quaternions #1022
2020-08-30 14:56:02 +02:00
Christophe
45271404e6
Merge pull request #1026 from manylegged/master
make GLM_CONFIG_XYZW_ONLY work with GLM_SWIZZLE_FUNCTION #1026
2020-08-30 14:54:30 +02:00