We finished migrating from DirectXMath
to the Eigen
math libraries for our 3D-Game Engine last week for portability reasons. After implementing transformations with matrices as we know them, we found out about Eigen::Transform
, which seemed like a really cool idea at the time.
Now, after a lot of fiddling things still don't quite work and we don't seem to have as much control over the way that Transformations are made. With Eigen::Matrix4f
, you're making the multiplications directly and can change in which order they are made. Eigen::Transform
appears to be way less transparent and flexible.
So we thought about reverting to our commits from last week, and head on to work with matrices again. But there are a few things we are concerned about:
Saving things like translation in a 4x4 Matrix takes up more space than using
Eigen::Translation
Generating a new
Matrix4f
for the complete transformation every tick seems like a tedious process
So I wanted to know how Transform
compares to regular Matrix4f
in terms of speed and if my impression that Transform
is not as flexible is actually true or not.