37 Commits

Author SHA1 Message Date
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
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
Gottfried Leibniz
93e573f7b1 fix: axisAngle
invalid epsilon comparison
2020-09-22 00:35:07 -03:00
Christophe Riccio
78879c675c Refactor headers 2018-08-05 15:22:49 +02:00
Groove
e1cddde7d5 Fixed VC2013 build 2018-07-24 20:15:08 +02:00
Christophe Riccio
faf1da52b7 Renamed P (for precision) template argument to Q (for qualifier) 2017-08-16 01:22:50 +02:00
Christophe Riccio
e76fca75a0 More consistent coding style 2017-08-15 22:04:24 +02:00
Christophe Riccio
a805fb9d68 Renamed precision enum to qualifier 2017-08-15 21:23:47 +02:00
Christophe Riccio
b138eed73b Fixed warnings 2017-08-08 22:40:22 +02:00
Christophe Riccio
00e7908294 Fixed warnings 2017-08-07 14:56:45 +02:00
Magnus Bergsten
0ca6a44454 Fixed stray ')' that was breaking gtx/matrix_interpolation. 2017-07-01 02:51:31 +09:00
Christophe Riccio
26b3e3ed78 Fixed axisAngle NaN #638 2017-06-24 12:43:00 +02:00
Christophe Riccio
1318f942cf Fixed build 2017-01-02 21:24:13 +01:00
Christophe Riccio
c2fe3fccf6 Use length_t instead of int for vec and mat lengths #584 2016-12-30 20:05:04 +01:00
Christophe Riccio
b92fdf5a59 matrix type Parameterize on dimensions #584 2016-12-30 16:00:25 +01:00
Christophe Riccio
947b07cbc4 remove template alias for more compiler support and simplified swizzle expression implementation #584 2016-12-30 01:23:29 +01:00
Christophe Riccio
b09f395cd2 Optimized GTX_matrix_interpolation axisAngle function 2016-11-20 23:39:22 +01:00
Christophe Riccio
316460408a Simplify and more consistency for files headers 2016-05-23 22:55:49 +02:00
Christophe Riccio
fc8b4404f0 Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
Christophe Riccio
3f48ffefb0 Updated license 2014-11-26 00:27:12 +01:00
Christophe Riccio
f9484a6e9f - Moved template types from 'detail' to 'glm' namespace #239, #244 2014-10-05 19:37:07 +02:00
Christophe Riccio
ccb25c84c7 Update copyright year 2014-01-04 22:32:28 +01:00
Christophe Riccio
b9266c07b0 Using C++ casts 2013-09-08 00:22:17 +02:00
Christophe Riccio
c14e2d7fbc Added precision template parameter 2013-04-10 13:46:27 +02:00
Christophe Riccio
8ed5f541ff Resolved issue #58 2013-03-16 01:24:29 +01:00
Christophe Riccio
2a4434786e Updated date 2013-02-20 16:21:56 +01:00
Christophe Riccio
b1ecabdd28 Fixed GTX_matrix_interpolation, issue #9 2012-09-19 19:14:45 +02:00
Christophe Riccio
88d3927558 Updated copyright date 2012-01-09 11:20:01 +00:00
Christophe Riccio
8d843a448a Vectorize and reformatting 2011-10-14 14:07:53 +01:00
Christophe Riccio
1f64b8b51f Fixed axisAngle 2011-08-28 20:00:20 +01:00
Christophe Riccio
8eee19e183 Fixed merge 2011-08-28 19:56:58 +01:00
Christophe Riccio
9385876f51 Fixed ticket 120, M_1_PI undeclare in C++0x 2011-08-27 17:13:37 +01:00
Christophe Riccio
3621deaeb5 Removed gtc and gtx namespaces 2011-06-10 16:45:17 +01:00
Christophe Riccio
06cc480baa Removed gtx extension namespace 2011-06-07 11:28:11 +01:00
Christophe Riccio
1c85dcefd4 Fixed GTX_matrix_interpolation warnings 2011-05-06 13:29:43 +01:00
Christophe Riccio
58053e5b89 Added GLM_GTX_matrix_interpolation extension 2011-05-06 13:24:05 +01:00