ページ 11

【DirectXプログラミング】ステンシルバッファについて

Posted: 2010年9月08日(水) 18:32
by シエル
いつもお世話になっております。シエルです。

今回はDirectXのステンシルバッファについて、質問があります。


質問①
ステンシル値の比較関数(D3DCMP_LESSなど)を使って、ステンシルバッファ値とステンシル参照値を比較しますが
その場合どちら値が左辺になるのでしょうか。


質問②
ステンシルバッファに書き込まれるステンシルバッファ値の形についてなのですが、
これはポリゴンの形でしか書き込めないのでしょうか?
例えばある複雑な画像の背景色を透過させた画像を用意し、その画像をステンシルバッファに
描画して、そのまま複雑な画像の形のマスクをつくることはできないのでしょうか?
一度試してみましたが、そのポリゴンの形でしかマスクされませんでした。
もし、出来ないのであれば何か他の方法はありますでしょうか?


質問③
z座標をゼロにした頂点変換済み座標を使って背景を描画し、ステンシルバッファを使って
マスキングすると、その形にうまくマスクされるのですが、背景を自分が作った
3Dスクロール背景にすると、背景の画像にノイズが入ってしまったようになります。
原因としては何が考えられるでしょうか?
こいつは一応画像貼っておきます。


以上になります。ご教授のほど、よろしくお願い致します。

Re:【DirectXプログラミング】ステンシルバッファについて

Posted: 2010年9月08日(水) 21:41
by シエル
すいません。質問②については、アルファテストを使えば解決できそうなので結構です。

質問①と③についてのみ、回答お願い致します。

Re:【DirectXプログラミング】ステンシルバッファについて

Posted: 2010年9月08日(水) 22:14
by シエル
すいません。質問②の件については、画像の通りうまくいきました。

質問③の件についても、アルファテストを使ったらなぜか、ノイズっぽい描画に
ならずにすみました。

質問①についてのみ、回答お願いします。
(もしかするとこれも解決するかもしれませんが^^;)

Re:【DirectXプログラミング】ステンシルバッファについて

Posted: 2010年9月08日(水) 22:52
by シエル
すいません。質問①についても、解決しましたので、解決致します。
どうもありがとう(?)ございました。