スポンサーサイト 

上記の広告は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)

Zodiacライブラリ - 基本のテクスチャレンダリング - 

ゲームを作る上で、これがないと昔のゲームみたいになってしまいます。
それはそれで、味はあるんですが、やっぱり基本のテクスチャレンダリング。

テクスチャとは、模様のような意味で、主に画像を読み込んで使う事が多いです。

ポリゴン描画との差としては、テクスチャをデバイスに設定して、UV座標を加えるぐらい?
テクスチャはクラス分けしといた方が何かと便利だと思います。


▼ 魔方陣テクスチャ貼ってみました。



一応加算合成なんですが、背景黒だと何の変化もないです

今回テクスチャは3枚張りまで対応させました。
DirectX的にはそれ以上も行けるんですが、どうせ使わないので。

2枚ぐらいは2Dで使っても、UVスクロールとか組み合わせると良い演出になるかも。
簡単にUV設定できる仕組みを作ろうかな。


段々見た目が良くなってきましたよ(´・∀・`)
[ 2008/07/04 00:16 ] ライブラリ開発 | TB(0) | CM(0)
プロフィール

poro

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


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