スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

DirectX vs OpenGL 数学編 

DirectXとOpenGLは色々違いがあってめんどいんですが、
その差に今日久しぶりにはまりました_no

基本OpenGLは数学と同じ表記をします。
なので座標も、DirectXは行ベクトル、OpenGLは列ベクトルを使います。
Z軸も左手系と右手系で違ってます、本当にややこしい

で、今日はまったのは行列を1次元の配列で定義した時。
C言語だと、2次元配列のメモリ配置は繋がるので、
a[2][2]だと、a[0][0], [0][1], [1][0], [1][1]とメモリに連続して置かれます。
横向きにおいていくイメージ。

で、


GLでもそうなる事を期待してたんですよ、
C言語での決まりだから、普通に並ぶだろうと。

▼現実まとめ



OpenGLのシステムに渡したら転置行列みたいにされましたよ?('A
要するにGLは縦に並べていくみたいです。
確かに行列のかける順番が逆なので、これでDirectXの共通の結果になるんですが。

非常にめんどいから勝手に変換しないで欲しかった。

転置ぐらいこっちで判別するから、ほっといてくれと…。
環境の差には気をつけようというお話。
スポンサーサイト

[ 2008/07/22 22:12 ] プログラマ相談室 | TB(0) | CM(0)
コメントの投稿














管理者にだけ表示を許可する
プロフィール

poro

  • Author:poro
  • プログラマやってる人です。
    絵とかも好きだったり、
    何か作りたいとか最近考えているらしい。
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。