コードスペランカー

ゲーム開発日誌など

XNA4.0でのポリゴン描画その4

3.1でポリゴンを書くのに使っていたGraphicsDevice.RenderStateだが、がらりと変更されていて、4つのプロパティに分けられている。

・BlendState
アルファブレンド等の半透明処理に関する項目
・DepthStencilState
深度バッファなどに関する項目
・RasterizerState
カリングモード等に関する項目
・SamplerState
テクスチャのサンプルモードに関する項目

このうちSamplerStateのみは配列で格納されているので注意。
配列の数は16固定。

で、その2で起きてた問題だけど、いまだに解決できないで困っている。
深度バッファを有効にして、ポリゴンそのものは視点からの距離に応じて上書きされているが、ポリゴンに書かれたテクスチャは描画された順番に依存いて書かれているように見える。

現在解決策として考えたれるのは、視点からの距離に応じて描画するオブジェクトをソートしてから描画するというものだが、深度バッファが有効になっていると処理を書いている側としては違和感がある処理になる。