Seperate some matrix operations to MatrixUtils 51/283151/18
authorEunki, Hong <eunkiki.hong@samsung.com>
Wed, 19 Oct 2022 05:33:36 +0000 (14:33 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 24 Oct 2022 04:31:26 +0000 (13:31 +0900)
commit4e6d17f009f42e3b9a7f74cdc65377a04b30abe4
tree68c452dbf9071b63f5708ca3bf5961e6d3a8ff4a
parente783346363d1437784ffe5965666c43ecb79492c
Seperate some matrix operations to MatrixUtils

Move some static Matrix / Matrix3 operations into specific file.
Previous logic doesn't support multiply-asign operations.

 A = A * B; (valid. Because A operator=({result-of-(A*B)}))
 A *= B; (invalid)

To resolve this issue, we plan to implement another operator *= for Matrix.

To seperate codes more clean + If we plan to make some util API about Matrix
(something like Internal::MatrixUtils::MultiplyProjectionMatrix)
Make another file for matrix utils internal.

TODO : Internal::MatrixUtils::MultiplyProjectionMatrix use NEON.
TODO : Make projection matrix use MatrixUtils after camera refator finished

Change-Id: I4333c52c93fb24f618ed509fe101a83e4a9f36c1
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 files changed:
automated-tests/src/dali-internal/CMakeLists.txt
automated-tests/src/dali-internal/utc-Dali-Internal-MatrixUtils.cpp [new file with mode: 0644]
automated-tests/src/dali/utc-Dali-Matrix.cpp
automated-tests/src/dali/utc-Dali-Matrix3.cpp
dali/internal/common/matrix-utils.cpp [new file with mode: 0644]
dali/internal/common/matrix-utils.h [new file with mode: 0644]
dali/internal/event/actors/actor-coords.cpp
dali/internal/event/actors/camera-actor-impl.cpp
dali/internal/event/common/projection.cpp
dali/internal/file.list
dali/internal/render/renderers/render-renderer.cpp
dali/internal/update/common/animatable-property.h
dali/internal/update/manager/render-instruction-processor.cpp
dali/internal/update/manager/transform-manager.cpp
dali/internal/update/render-tasks/scene-graph-camera.cpp
dali/public-api/math/matrix.cpp
dali/public-api/math/matrix.h
dali/public-api/math/matrix3.cpp
dali/public-api/math/matrix3.h