matrix layout in C++
m11, m12, m13, m14 1 0 0 0
m21, m22, m23, m24 0 1 0 0
m31, m32, m33, m34 0 0 1 0
m41, m42, m43, m44 tx ty tz 1
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
1 0 0 0 0 1 0 0 0 0 1 0 tx ty tz 1