>>960
OpenGLとDirectXが違ってどっかで転置操作してるってのが質問なんじゃないの?

v を列ベクトル、Vを行ベクトルとすると
OpenGLは v' = M * v
DirectXは V = V * M

v' = M * v の 両辺を転置すると

vt = ( M * v )t
V = V * Mt

で同じ式。

CPUはGPUに 頂点 v[4] と 行列 M[16]を渡します
頂点v[4]はベクトルだからvでもVでも同じ値、
MとMtは違うけど、配列が行/列優先によりM[16]も同じ値になります

つまり
>>946のglDrawArrayとDirectXのdraw()はGPUから見ると同じものを渡されてるので、後は頂点シェーダーで掛け算するだけです
どこでも逆順に適用とかされません