I did a few more tests on this. I don't think that GetInverse() is actually broken, perhaps. I think there is instead a logic error with the way that you're packing a 3x3 matrix into a 4x4 one.

If I do:` sf::Matrix3 m(1, 0, 10,`

0, 1, 10,

0, 0, 1);

then GetInverse() does work as expected. But if the matrix is made with SetFromTransformations() then it doesn't work.

It seems that the difference between the two is at 2, 2 (myData[14]). If myData[14] is forced to 1.0, then the math seems to work perfect but it renders incorrectly. If myData[14] is left at zero (how it's currently implemented) then the rendering works but multiplication and inversion is broken.

I've tried some different things to fix it. Unfortunately I don't know much about matrices.

Thanks.