Actually, both OpenGL and DirectX specify a matrix layout where the base vectors and the translational
part is consecutive in memory.
OpenGL uses post-multiplication of column-vectors and stores the matrix in column-major storage format:
| X1 Y1 Z1 T1 | | a |
| X2 Y2 Z2 T2 | | b |
| X3 Y3 Z3 T3 | | c |
| 0 0 0 1 | | 1 |
DirectX on the other hand uses row-major storage format but also pre-multiplication of
row-vectors
| a b c 1 | | X1 X2 X3 0 |
| Y1 Y2 Y3 0 |
| Z1 Z2 Z3 0 |
| T1 T2 T3 1 |
So a matrix is stored the same way in both frameworks and both times the translational part is consecutive,
which is not the format that Assimp uses.