DirectXでポリゴンの上にスプライトを描きたいときは
D3DXMatrixTranslation(&Mat, (float)x,(float)y,(float)z);
pSprite->SetTransform(&Mat);
このような感じでzに1を入れると可能になります。(zに0を入れるとポリゴンの下になります)
このようにポリゴンの上にスプライトを描いた、
さらにそのスプライトの上にポリゴンを描きたい場合、どうすれば良いのでしょうか。
よろしくお願いします。
DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい
-
hiroken
Re: DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい
すみません 訂正があります。
このような感じでzに1を入れると可能になります。(zに0を入れるとポリゴンの下になります)
↓
このような感じでzに0を入れると可能になります。(zに1を入れるとポリゴンの下になります)
このような感じでzに1を入れると可能になります。(zに0を入れるとポリゴンの下になります)
↓
このような感じでzに0を入れると可能になります。(zに1を入れるとポリゴンの下になります)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい
3D空間に置いたビルボードとして表示したいのではなく、単なるスプライトを書きたいのでしょうか? 一時的にZバッファを無効にしては?
※DirectXの関数に詳しくなので細かくは答えられませんが、レンダリングステートの変更できるはず。
※DirectXの関数に詳しくなので細かくは答えられませんが、レンダリングステートの変更できるはず。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
hiroken
Re: DirectXでポリゴンの上にスプライト、さらにその上にポリゴンを描画したい
ありがとうございます。
スプライトを表示するときだけSetRenderState(D3DRS_ZENABLE, FALSE);
としてZバッファを無効にして
その後でポリゴンを描画するとスプライトの上に描けました。
さっきまであきらめかけて2Dで画像を準備してたので助かりました。
本当にありがとうございました。
スプライトを表示するときだけSetRenderState(D3DRS_ZENABLE, FALSE);
としてZバッファを無効にして
その後でポリゴンを描画するとスプライトの上に描けました。
さっきまであきらめかけて2Dで画像を準備してたので助かりました。
本当にありがとうございました。