1

現在、このペーパーのセクション 8.3.1 で説明されているように、コーン トレース ソフト シャドウを実装しようとしています。

フラグメント シェーダーで Sponza シーンを描画し、「ボクセル フラグメント」を 3D テクスチャに格納することによってボクセル化された、3D テクスチャ内の階層的なミップ マップ ボクセル構造を取得しました。ミップマッピングは計算シェーダーで行われます。

著者は、ポイント ライトとエリア ライトのソフト シャドウを作成する方法を説明していますが、これは非常に簡単に理解できますが、Sponza シーンで使用されるディレクショナル ライトについては説明していません。

点光源の場合、円錐は点光源からトレースされ、その半径は、シーンの「ボリューム」と呼ばれるシーンの各部分に向かって移動するにつれて増加します。ただし、ディレクショナル ライトには特定の光源点はなく、方向のみがあります。この概念をディレクショナル ライトで動作させるにはどうすればよいでしょうか? 円錐は別の形でなければなりませんよね?

4

3 に答える 3

0

あまりにもナイーブな場合はご容赦ください。ただし、シーンの境界球を計算し、同じ半径で球の中心を通過し、光の方向に従って方向付けられた単一の円柱を検討することもできます。次に、ポイントライト(またはスポットライト)の場合と同じように進みますが、代わりに半径を一定に保ちます(つまり、円錐ではなく円柱)。

于 2013-01-20T03:13:33.570 に答える
0

まだ修正されていない場合は、3D テクスチャの端に到達するまで、クエリ ポイント (つまり 1 つのコーン) から行進を試みることができます。テクスチャはおそらく大きなサイズなので、パラメータ化可能なステップ サイズで行進することを検討できます。ソフト シャドウを生成するには、追加のランダム サンプルをクエリ ポイントの近くに生成する必要があります。

于 2016-06-28T18:47:34.030 に答える