You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This relates to integration with other projects, which uses canonical matrix operations. OpenGL and DirectX shaders for example.
If we have many transforms we should know that multiplication order is different
The case:
M1 - element transform
M2 - model transform
M3 - world transform
multiplication order in GLSL to get screen coords from 3d-space:
$$u_1 = M_3 \times M_2 \times M_1 \times v$$
using xBim matrices we'll write
$$u_2 = v \times M_1 \times M_2 \times M_3$$
that because of
$$(M_1 \times M_2)^T = M_2^T \times M_1^T$$
Difference between u1 and u2 is transposition, but vector is just list of numbers we can't see difference.
Any thoughts @martin1cerny ? This is above my pay grade
I'm unsure of the implications. i.e. what is broken? what is this solution? what will break if we apply a solution? What test cases do we have around this.
XbimEssentials/Xbim.Common/Geometry/XbimVector3D.cs
Line 188 in ac8b909
See for example https://mathinsight.org/matrix_vector_multiplication
The text was updated successfully, but these errors were encountered: