【DirectXプログラミング】ステンシルバッファについて
Posted: 2010年9月08日(水) 18:32
いつもお世話になっております。シエルです。
今回はDirectXのステンシルバッファについて、質問があります。
質問①
ステンシル値の比較関数(D3DCMP_LESSなど)を使って、ステンシルバッファ値とステンシル参照値を比較しますが
その場合どちら値が左辺になるのでしょうか。
質問②
ステンシルバッファに書き込まれるステンシルバッファ値の形についてなのですが、
これはポリゴンの形でしか書き込めないのでしょうか?
例えばある複雑な画像の背景色を透過させた画像を用意し、その画像をステンシルバッファに
描画して、そのまま複雑な画像の形のマスクをつくることはできないのでしょうか?
一度試してみましたが、そのポリゴンの形でしかマスクされませんでした。
もし、出来ないのであれば何か他の方法はありますでしょうか?
質問③
z座標をゼロにした頂点変換済み座標を使って背景を描画し、ステンシルバッファを使って
マスキングすると、その形にうまくマスクされるのですが、背景を自分が作った
3Dスクロール背景にすると、背景の画像にノイズが入ってしまったようになります。
原因としては何が考えられるでしょうか?
こいつは一応画像貼っておきます。
以上になります。ご教授のほど、よろしくお願い致します。
今回はDirectXのステンシルバッファについて、質問があります。
質問①
ステンシル値の比較関数(D3DCMP_LESSなど)を使って、ステンシルバッファ値とステンシル参照値を比較しますが
その場合どちら値が左辺になるのでしょうか。
質問②
ステンシルバッファに書き込まれるステンシルバッファ値の形についてなのですが、
これはポリゴンの形でしか書き込めないのでしょうか?
例えばある複雑な画像の背景色を透過させた画像を用意し、その画像をステンシルバッファに
描画して、そのまま複雑な画像の形のマスクをつくることはできないのでしょうか?
一度試してみましたが、そのポリゴンの形でしかマスクされませんでした。
もし、出来ないのであれば何か他の方法はありますでしょうか?
質問③
z座標をゼロにした頂点変換済み座標を使って背景を描画し、ステンシルバッファを使って
マスキングすると、その形にうまくマスクされるのですが、背景を自分が作った
3Dスクロール背景にすると、背景の画像にノイズが入ってしまったようになります。
原因としては何が考えられるでしょうか?
こいつは一応画像貼っておきます。
以上になります。ご教授のほど、よろしくお願い致します。