2012-04-30 10 views
2

私はXNA 4.0で簡単な作業を達成しようとしています。私は輝く必要があるオブジェクトを持っています(レンダリングとGaussianはそれらをぼかして、メインシーンに追加します)。これらのオブジェクトは異なる深さにある可能性があるので、メインシーンのオブジェクトの前にあるオブジェクトによってそれらが隠されていることを確認する必要があります。 3Dです。XNA 4.0 Glowing objects

XNA 4.0では深さバッファを再利用できないため、これをどのように達成するのか苦労していますか?

このプロセスの例やチュートリアルや説明はありません。また、XNAのブルームポストプロセスの例は、シーン全体を処理するため、必要なものを正確に実行しません。

PreserveContentsを使用してRenderTarget情報を保存できることはわかっていますが、遅かったようです。 PreserveContentsを使用せずにこれを達成する方法はありますか?

ご協力いただければ幸いです。 ありがとうございます、 Riaan。

+0

あなたがしたいことの視覚的な例は、大いに役立ちます。あなたは何かを嘲笑することができますか? –

+0

Mmm。私は新しいものとして画像をアップロードできないようです。ここにリンクがあります:http://postimage.org/image/cwmw2cglh/a6790034/ –

+0

「深さバッファは再利用できません」という意味はどういう意味ですか? XNAを使用すると、深度バッファを使用してほとんど何でも行うことができます。 –

答えて

1

私は、これは、マルチターゲットレンダリング技術である...その深さを保存するために第2のレンダーターゲットを使用して光るオブジェクトをレンダリングするために試してみた...

私はあなたが非輝くオブジェクトのための別を必要とすると仮定します後処理時にそれらを比較するために(または両方を使用して同じ深度を保存する)...

後の処理では、光るオブジェクトが表示されるか隠されるかを知ることができます。

+0

返信いただきありがとうございます。私にとっての質問(おそらく何か根本的なものがありません)は、2番目のRTで深さ情報を再利用する方法です。別のRTに切り替えるとすぐにその情報は破棄されませんか? –

+0

私は知っているテクスチャとしてそれを持っています – Blau

+0

テクスチャはシーン全体の輝くオブジェクトをすべて含んでいるわけではありません。シナリオは次のとおりです。シーンをRT1にレンダリングし、光るオブジェクトをRT2にレンダリングします。 RT1にはシーン全体が含まれ、RT2にはすべての光っているオブジェクトが含まれます。どのように深みのある情報なしで光るオブジェクトをフルシーンにマージしますか? –

関連する問題