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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hiroken

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

#1

投稿記事 by hiroken » 12年前

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

hiroken

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

#2

投稿記事 by hiroken » 12年前

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 12年前

3D空間に置いたビルボードとして表示したいのではなく、単なるスプライトを書きたいのでしょうか? 一時的にZバッファを無効にしては?
※DirectXの関数に詳しくなので細かくは答えられませんが、レンダリングステートの変更できるはず。 
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

hiroken

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

#4

投稿記事 by hiroken » 12年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る