ここから本文です

DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい

mor********さん

2013/8/2310:58:37

DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい

DirectXで3Dゲームを作っています。
DirectXでポリゴンの上にスプライトを描きたいときは
D3DXMatrixTranslation(&Mat, (float)x,(float)y,(float)z);
pSprite->SetTransform(&Mat);
このような感じでスプライトのz座標に0を入れると可能になりました。(zに1を入れるとポリゴンの下になりました)
このようにしてポリゴンの上にスプライトを描きました。
でもさらにそのスプライトの上にポリゴンを描きたい場合は、どうすれば良いのでしょうか?
よろしくお願いします。

補足yarynextさん
Z軸を無効にするにはどうしたらいいでしょうか?
検索してもちょっと分かりませんでした。

閲覧数:
331
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

yar********さん

編集あり2013/8/2312:43:55

morizo3654さん

zの値を0,1,2でも-1,0,1でも0,0.5,1でも変えていけばそうなると思いますが、
もし、奥行きが関係無いならZバッファを無効にして、書いた順に上書きされていく
という方法もあります。

[補足回答]
http://msdn.microsoft.com/ja-jp/library/ee418553(v=vs.85).aspx
IDirect3DDevice9::SetRenderStateにD3DRS_ZENABLEでD3DZB_FALSEを指定。

全くZバッファが必要なければ、CreateDeviceに渡しているD3DPRESENT_PARAMETERSの
EnableAutoDepthStencilをFALSEにする。

質問した人からのコメント

2013/8/23 12:55:18

感謝 ありがとうございます。
スプライトを表示するときだけSetRenderState(D3DRS_ZENABLE, FALSE);
としてZバッファを無効にして
その後でポリゴンを描画するとスプライトの上に描けました。
さっきまであきらめかけて2Dで画像を準備してたので助かりました。
本当にありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

k03********さん

2013/8/2311:16:29

morizo3654さん

z座標を増加(下になる)
z座標を減少(上になる)

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる