1

IBL (画像ベースのライトhttp://en.wikipedia.org/wiki/Image-based_lighting ) をシミュレートすることを目的とした HLSL のコードがあります。IBL をシミュレートするには、オブジェクトの周囲に「世界」からのテクスチャが必要です。オブジェクトの位置によってテクスチャを動的に生成したいと考えています。私には2つの問題があります:

• オブジェクトの周囲 360 度で世界のテクスチャを生成する方法は? それぞれ 45 度のカメラが 6 台必要ですか、それとも 1 台だけでも可能ですか?

• 「sampleCUBE」でキュービック テクスチャをマッピングする方法は既に知っていますが、6 つの面に同じイメージがあります。各面に独自のテクスチャを持たせるにはどうすればよいですか?

http://i.stack.imgur.com/Iz6RZ.png

IBL は Forza 4 や Crysys 2 などのゲームに存在します。

4

1 に答える 1

1

6 回のレンダリングが必要になる場合があります (巨大な FOV を設定する場合は 2 または 4 になる可能性がありますが、歪みが生じて作業が難しくなります)。または、レンダリング ターゲットとしてキューブマップを使用するか、何らかの並べ替えを使用できる場合は、シングル パスでレンダリングできます。球状マップへのレンダリングリンク全体像がなければ、作業するのに十分なデータがありません。ただし、これらのレンダリングには、非常に基本的なシェーダーと低解像度の出力が含まれる場合があります。また、フレームごとにリフレッシュする必要はありません。代わりに、テクスチャを少し移動して、近いオブジェクトの場合は 5 フレームごと、遠いオブジェクトの場合は 10 フレームごとにリフレッシュできます。そして最も重要なことは、「イメージ ベース ライト」は可視部分にのみ必要であるため、6 パスではなく最大 3 パスしか使用できないことです。

于 2012-11-24T16:06:57.993 に答える