Original Post
I know that according to the mathematical convention the correct orientation of a matrix is [row,column]. However I have seen a lot of games programming resources that put the matrix the other way around. Essentially the transformation matrix becomes 1 0 0 0 0 1 0 0 0 0 1 0 X Y Z 1 instead of 1 0 0 X 0 1 0 Y 0 0 1 Z 0 0 0 1 Is this an accepted convention in games development? If it is does anyone know why? (I'm imagining something along the line of the way arrays are commonly indexed and the need to keep certain data values adjacent for use with SSE). I want to know because I'm writing a C++ 3D maths library for Linux* for use with my final year CS project. It's going to be under a FOSS license and if a convention exists I'd prefer to follow it. *basically a bunch of stuff like vectors, matrices, planes, rays, quaternions, etc. Selecting appropriately optimised implementations (where it makes sense) via function pointers depending on the capabilities of the CPU. I couldn't find such a library for Linux and will need one in a few months.