]> git.lizzy.rs Git - irrlicht.git/commit
Fix some problems with CMatrix4::getRotationDegrees
authorcutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>
Sat, 15 Oct 2022 15:46:03 +0000 (15:46 +0000)
committersfan5 <sfan5@live.de>
Fri, 24 Mar 2023 16:09:11 +0000 (17:09 +0100)
commit9f9d22ca332c3aca65b53162da316f3dd0e3a58d
tree4ecb9d32c1fc4884b89a92f6b5129d85b1f31d1d
parentedb381bd5050712d1eb8875fe3a405000dd09a3d
Fix some problems with CMatrix4::getRotationDegrees

- Only the getRotationDegrees without parameter is allowed to try fixing scale.
  My fault when I added a new function which takes scale parameter, that one is
  not allowed to be changed.
  On the up-side - we know have for the first time an option which works in cases only
  scale and rotation had been used and the user still has the correct scale.
  Before any solution for that was broken
- getRotationDegrees fixes 2 places which caused wrong results due to floating point inaccuracies
  New test for that got added
- Document the current restrains and problems of getRotationDegrees and getScale some more.
- Improve docs for other matrix4 functions.
- Add some comments about further improvements (I'll try if I find time)

Note: Irrlicht still assumes in at least 2 places (getting bone animations and Collada loader) that matrix
decomposing works. Which it doesn't yet for matrices which switch handedness (or have further transformations like skewing axes)
The bone animation is mostly fine for now with recent workaround (but that might cause other problems as it may be used too often), haven't checked Collada yet in detail.

TL/DR: This improves things with getRotationDegrees, but does not yet fix all troubles.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6439 dfc29bdd-3216-0410-991c-e03cc46cb475
include/matrix4.h