ページ 11

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

Posted: 2013年8月23日(金) 02:15
by hiroken
DirectXでポリゴンの上にスプライトを描きたいときは
D3DXMatrixTranslation(&Mat, (float)x,(float)y,(float)z);
pSprite->SetTransform(&Mat);
このような感じでzに1を入れると可能になります。(zに0を入れるとポリゴンの下になります)
このようにポリゴンの上にスプライトを描いた、
さらにそのスプライトの上にポリゴンを描きたい場合、どうすれば良いのでしょうか。
よろしくお願いします。

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

Posted: 2013年8月23日(金) 02:26
by hiroken
すみません 訂正があります。
このような感じでzに1を入れると可能になります。(zに0を入れるとポリゴンの下になります)

このような感じでzに0を入れると可能になります。(zに1を入れるとポリゴンの下になります)

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

Posted: 2013年8月23日(金) 12:00
by softya(ソフト屋)
3D空間に置いたビルボードとして表示したいのではなく、単なるスプライトを書きたいのでしょうか? 一時的にZバッファを無効にしては?
※DirectXの関数に詳しくなので細かくは答えられませんが、レンダリングステートの変更できるはず。 

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

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