"In OpenGL, matrix operations are pre-concatenated, which means concatenated transformations are applied from right to left. Direct3D, however, applies concatenated transformations from left to right."
This is not a valid statement any more (since shaders became the norm with GL2 / D3D9). I'd go as far as to say that SE page is just wrong.
You can use either column-vectors or row-vectors (pre/post concatenation) in both D3D and GL.
You cal also use column-major or row-major storage in both D3D and GL.
You can also use right-handed or left-handed coordinate systems in both D3D and GL.
You can choose your convention.
The only thing that's fixed is the order that the 16 floats must be given to the constructor of a GLSL mat4x4 or a HLSL float4x4, and their array access syntaxes...
Note that on the C/C++ side, neither D3D or GL define vector or matrix types. If you've got some fixed row-major, post-convatenation (row-vector) matrix classes, those are not a part of D3D, those are an external library. You're free to choose a single math library and use it for both.
Edited by Hodgman, 24 March 2014 - 08:15 PM.