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::TranslationGenerating a new
Matrix4ffor 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.