トップページ > プログラム > 2014年09月01日 > AuKDuIgb

書き込み順位&時間帯一覧

8 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001041006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
OpenGLスレ Part20

書き込みレス一覧

OpenGLスレ Part20
954 :デフォルトの名無しさん[sage]:2014/09/01(月) 18:49:08.09 ID:AuKDuIgb
>>953
Xの転置をXtと表すと

A x B と
( Bt x At )t

が同じなのはわかる?
行ベクトルの転置は列ベクトルだとすると...

つかわかってないのは君だけなのに、なんでそんな喧嘩腰なんだ
OpenGLスレ Part20
970 :デフォルトの名無しさん[sage]:2014/09/01(月) 20:08:49.17 ID:AuKDuIgb
>>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から見ると同じものを渡されてるので、後は頂点シェーダーで掛け算するだけです
どこでも逆順に適用とかされません
OpenGLスレ Part20
979 :デフォルトの名無しさん[sage]:2014/09/01(月) 20:36:05.96 ID:AuKDuIgb
>>975
ここはOpenGLスレだから、どっちが自然かって言われたら断然OpenGLなんだよねー

同じ場所でクルクル回るのに、どうして毎回移動しないといけないのー。みたいな
glPushMatrix glPopMatrix超べんりー

つかどうせD3DXMatrixMultiplyとかで自分で掛け算してんだから、どっちが逆とかないんじゃねの

>>972
× なんで答えが列ベクトルになっちゃうんだよw
OpenGLスレ Part20
983 :デフォルトの名無しさん[sage]:2014/09/01(月) 20:48:36.89 ID:AuKDuIgb
>>982
M = T
M = M * R
M = M * S
でも
M = S
M = R * M
M = T * M
でも好きにすりゃいいだろうって話
OpenGLスレ Part20
987 :デフォルトの名無しさん[sage]:2014/09/01(月) 20:57:29.46 ID:AuKDuIgb
>>984

D3DXMatrixMultiply(OUT, M1, M2);
D3DXMatrixMultiply(OUT, OUT, M3);


D3DXMatrixMultiply(OUT, M2, M3);
D3DXMatrixMultiply(OUT, M1, OUT);

は同じじゃないのって言ったのだが
OpenGLスレ Part20
991 :デフォルトの名無しさん[sage]:2014/09/01(月) 21:32:48.89 ID:AuKDuIgb
君の出発点がどこかは誰にもわからない


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。