Commit Graph

2892 Commits

Author SHA1 Message Date
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
Arthur Danskin
2eeb2662a6 spaces->tabs 2020-08-08 17:36:34 -04:00
Arthur Danskin
9627450ef8 allow force_xyzw to work with function swizzleing 2020-08-08 17:29:51 -04:00
Bjorn Wahlstrand
6fdeff4d67 Fixed compiler warnings
g++-10.1.0/c++20:

'error: compound assignment with ‘volatile’-qualified left operand is deprecated [-Werror=volatile]'
2020-08-05 15:15:57 -07:00
Quentin Santos
d6d272e9a0 Fix handling of small magnitude quaternions
The special case handling in glm::qua::pow is specifically intended for
the case when the magnitude is null. Even for magnitudes smaller than
epsilon, the common formula should be used. Because comparing a
floating-point value by equality triggers a warning through the
-Weveverything setting of clang, it must be selectively disabled for the
condition.
2020-07-28 19:22:10 +02:00
Christophe
6c97378695
Merge pull request #1011 from Bargor/master
Fixed warning when compiling with MSVS in SIMD mode #1011
2020-07-09 10:40:55 +02:00
Christophe
1e0ad71ec7
Merge pull request #1014 from serkan3k/patch-1
Fixed typo in documentation #1014
2020-07-09 10:34:45 +02:00
Christophe
949028f675
Merge pull request #1016 from brunotl/master
neon : fix "unused function" warning #1016
2020-07-09 10:33:29 +02:00
Arthur Danskin
3b3db0fc5a make GLM_CONFIG_XYZW_ONLY work with GLM_SWIZZLE_FUNCTION 2020-06-29 01:54:26 -04:00
Andras Kucsma
82e5f32f04 Support clang in C++1z mode
Certain older clang versions signal C++1z mode by defining
__cplusplus as 201406L. Support this as if it were C++14.

https://github.com/llvm/llvm-project/blob/llvmorg-3.6.2/clang/lib/Frontend/InitPreprocessor.cpp#L374
2020-06-25 15:06:19 +02:00
Daniel Scharrer
dfdeb9b284 Fix singularity in quaternion to euler angle roll conversion 2020-06-24 23:32:48 +02:00
Bruno de Lacheisserie
a584c01fb5 neon : fix "unused function" warning
static function in header file must have explicit inline specifier.
2020-06-07 12:09:55 +02:00
serkan3k
1f4ef63d00
Fixed typo in documentation
A typo in acos function description is changed.
2020-05-19 22:19:11 +03:00
Craig Bosma
f8bf087caa
Fix quaternion orientation in glm::decompose 2020-05-11 14:33:51 -05:00
Karol Kontny
e9ab34e0f0 Fixed warning when compiling with MSVS in SIMD mode 2020-05-11 15:26:46 +02:00
christophe
23e0701c04 Updated readme and GLM version 2020-05-02 19:00:56 +02:00
christophe
a44e293c40 Reading GLM version in CMake using REGEX on GLM header 2020-05-02 18:32:19 +02:00
Zuzu-Typ
b39c3550af Fixed assertion (min, max) 2020-04-23 11:07:14 +02:00
christophe
b4c5bb6c1a Fixed singularity check for quatLookAt #770 2020-04-12 18:32:33 +02:00
christophe
8aa60bbeff Tentative fix of Clang warnings 2020-04-12 16:33:44 +02:00
christophe
bf44be3105 Fixed invalid line 2020-04-12 16:04:40 +02:00
Christophe Riccio
f4c6667347 Fixed unnecessary warnings from matrix_projection.inl #995 2020-03-05 23:46:36 +01:00
Christophe Riccio
2a65978348 Merge branch 'master' of https://github.com/g-truc/glm into matrix-int 2020-03-05 18:52:28 +01:00
Kontny Karol
31d01b525e Quaternion slerp overload which interpolates with extra spins
Signed-off-by: Karol Kontny <barolek@gmail.com>
2020-02-28 00:01:52 +01:00
Christophe Riccio
a4bf8867c2 Added clamp, repeat, mirrorClamp and mirrorRepeat function to GLM_EXT_scalar_commond and GLM_EXT_vector_commond extensions with tests 2020-02-11 12:53:12 +01:00
Christophe Riccio
e8d758f746 Added integer matrix extensions and fixed build 2020-02-11 11:44:52 +01:00
Christophe Riccio
0d9abe3725 Added missing EXT extensions 2020-02-10 21:44:31 +01:00
Christophe Riccio
c4fd0b3aa3 Clean up integer matrix 2020-02-10 20:22:47 +01:00
Christophe Riccio
9e7a486c0e Added matrix integer extensions and tests 2020-02-10 19:06:30 +01:00
Christophe Riccio
684817db46 Clean up integer precision 2020-02-08 16:21:22 +01:00
Christophe Riccio
79d78bbdde Work on integer matrix 2020-02-07 17:45:02 +01:00
Christophe Riccio
6bd53cc9e5 Added files for EXT packing extensions 2020-02-07 15:20:42 +01:00
Christophe Riccio
65c8ff2bd6 Merge branch 'master' of https://github.com/g-truc/glm 2020-02-07 15:19:33 +01:00
Christophe Riccio
00ef7042df Removed duplicated vector 2020-02-07 15:19:14 +01:00
Christophe
6d8b4a11bf
Merge pull request #989 from dorodnic/doc_fix
Fixing output order in the documentation of glm::polar #989
2020-02-07 14:58:50 +01:00
Christophe
82d500376e
Merge pull request #992 from amaury-ml/compfix
[Aarch64] fix for glm::length #992
2020-02-07 14:57:13 +01:00
Amaury Le Leyzour
16a650ea65 [Aarch64] fix for glm::length 2020-02-05 17:48:31 -08:00
Christophe Riccio
8e58cdbbf8 - Added GLM_EXT_vector_intX_sized and GLM_EXT_vector_uintX_sized extensions 2020-02-04 17:11:07 +01:00
dorodnic
56c2cadc4a Fixing output order in the documentation of glm::polar 2020-01-06 22:21:02 +02:00
Christophe Riccio
13724cfae6 Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:19:37 +01:00
Christophe Riccio
d92ac09ce2 Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:05:29 +01:00
Christophe Riccio
8381f8e71e Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 21:02:56 +01:00
Christophe Riccio
85e491b30c Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests 2020-01-05 20:41:51 +01:00
Christophe Riccio
638eb14fcd - Added GLM_FORCE_QUAT_DATA_WXYZ to store quat data as w,x,y,z instead of x,y,z,w #983 2020-01-05 15:51:05 +01:00
Christophe Riccio
af6f1d7b8f Fixed EXT_matrix_clip_space perspectiveFov 2020-01-05 15:26:50 +01:00
Khem Raj
d2b9bbb911 Fix Wimplicit-int-float-conversion warnings with clang 10+
This is a new warning in clang which will be available in clang 10
onwards

Fixes
error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
2019-12-27 18:44:52 -08:00
Christophe
8828c3f1fd Fixed GLM_EXT_matrix_clip_space warnings #980 2019-12-09 14:21:08 +01:00
Amaury Le Leyzour
9da0c80e26 Yet another fix as this is no longer covered by unit tests 2019-11-21 13:03:22 -08:00
Amaury Le Leyzour
c7dbbee6a1 Fix typo 2019-11-20 09:05:39 -08:00
Amaury Le Leyzour
923f7222d1 Fix Neon issues 2019-11-19 18:26:16 -08:00
Amaury Le Leyzour
9ce038104c Fixing minor compiler issue 2019-11-19 17:30:57 -08:00
Amaury Le Leyzour
77d797bd54 respect project's coding style 2019-11-12 15:49:26 -08:00
Amaury Le Leyzour
a2403634da glm-aarch64: Add neon's mat4 inverse 2019-11-12 15:41:53 -08:00
Christophe Riccio
3da0e18de7 Added missing quat constexpr #955 2019-11-06 15:03:32 +01:00
Christophe Riccio
95b1cdbbfe Added fma implementation based on std::fma #969 2019-11-06 10:57:35 +01:00
Christophe Riccio
9caadbdf86 Added CMake GLM interface #963 2019-11-02 16:47:21 +01:00
Christophe Riccio
919e72f5dd Fixed equal ULP variation when using negative sign #965 2019-11-02 12:46:15 +01:00
Christophe
46670b794b
Merge pull request #963 from kiroma/master
Re-add the glm interface library in cmake #963
2019-11-02 11:27:28 +01:00
Christophe
c11944cf02
Merge pull request #950 from amaury-ml/neon-func
More simd/Neon functions #950
2019-11-02 11:17:26 +01:00
Krzysztof Kurek
e791090589
Re-add the glm interface library in cmake
Also re-work the main cmakelists to make the project more easily embeddable
2019-10-15 14:49:30 +02:00
Amaury Le Leyzour
8a173352e4 More simd/Neon functions 2019-09-18 09:47:57 -07:00
Amaury Le Leyzour
88a7aee27b More simd/Neon functions 2019-09-17 16:16:38 -07:00
Stefan Maass
e7d51a3838 bugfix intersection ray/plane, added related tests 2019-09-14 23:38:44 +02:00
Amaury Le Leyzour
9b0a0535ce Fixing GLM_MODEL for Windows compilers targeting ARM 2019-09-10 11:28:50 -07:00
Amaury Le Leyzour
e508cc604f More simd/Neon functions 2019-09-10 10:55:59 -07:00
Amaury Le Leyzour
c35bc3d576 Fix Arm 64bit detection
__aarch64__ is the correct way, __arm64__ is for iOS.
But the memory model does not need any of these architecture defines to be fully
relevant. __LP64__ means Long Pointer 64 (ie 64bits), and __ILP32__ is Integer Long Pointer 32 (ie 32bits).
That's enough and avoids errors like __arch64__ (correct way is __aarch64__) but forgets __arm64__ (iOS).
2019-09-10 10:44:45 -07:00
Christophe
5868657413
Merge pull request #946 from qsantos/patch-1
Fix loss of precision on small angles in qua's pow #946
2019-09-09 12:31:24 +02:00
Quentin Santos
3a41107d10 Fix precision loss on small angles in qua's angle 2019-09-08 18:31:50 +02:00
Quentin Santos
c597094980 Fix precision loss on small angles in qua's pow 2019-09-08 18:31:50 +02:00
Christophe Riccio
4db8f89aac Fixed quaternion array access #942 2019-09-08 15:58:42 +02:00
Christophe Riccio
73df95205f Fixed doxygen doc 2019-09-07 17:39:53 +02:00
Christophe Riccio
f4b3fc7733 Added missing genType check for bitCount and bitfieldReverse #893 2019-09-07 14:53:58 +02:00
Christophe Riccio
bfa028ed13 Fixed build 2019-09-07 14:34:49 +02:00
Christophe Riccio
943529eef6 Fixed CUDA 9 build #910 2019-09-07 14:32:06 +02:00