スポンサーサイト

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

× Zバッファ  ○射影マトリックス

今日は、DirectXのお話です。
実はずっと、物体が重なった時に上手く描画してくれなくて悩んでおりました。
後から描画したものが手前に来るという状態だった)

分かりやすいように図にしてみました。理想と現実

Zバッファの設定はしたのに、どうして上手く行かないのか?と。
Zバッファ・・・どの物体が手前にあるのかを判定し、描画できるようになる。

色々と調べたところ、原因が射影マトリックスにあった事が判明。
3D空間を2Dとして描画する為に必要な処理。
 下記の"カメラで撮る"に値する処理だと思ってください。
 現実世界(3次元) ⇒カメラで撮る⇒ 写真(2次元)

で、問題となっていたコード。
何気なく0.0にしていたのですが、 0.0だと上手く行かないそうです。
(詳しい説明は省略)
-------------------------------------------------------------------------
【誤】 D3DXMatrixPerspectiveFovLH(&matProj,D3DX_PI/4,1.0f,0.0f,100.0f);

【正】 D3DXMatrixPerspectiveFovLH(&matProj,D3DX_PI/4,1.0f,1.0f,100.0f);

-------------------------------------------------------------------------

とりあえず、問題は解決したので良かったです。
例の如く、ソースも付けておきます。
Zバッファ
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



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