にきびの原因


回答:


10

ここに画像の説明を入力してください

画像1:にきびの悪いケース。(合成で、少し誇張されています)

にきびは、シャドウマップの離散的な性質によって引き起こされます。シャドウマップはサンプルで構成され、サーフェスは連続しています。したがって、離散した表面がサンプルよりも遠い表面にスポットが存在する可能性があります。マルチサンプリングを行っても問題は解決しませんが、かなりのコストでこれをほぼ排除できる方法でよりスマートにサンプリングできます。

ここに画像の説明を入力してください

画像2:シャドウ関数とその離散サンプルの側面断面図。

これを解決する標準的な方法は、シャドウマップをわずかにオフセットして、オブジェクトが自分自身をシャドウイングしないようにすることです。このオフセットはバイアスと呼ばれます。固定値よりも多くのスマートオフセットを使用できますが、固定値は非常に適切に機能し、オーバーヘッドは最小限です。

ここに画像の説明を入力してください

画像3:前方にバイアスされた(オフセット)シャドウ関数。


そして、深度マップのこの離散的な性質は、浮動小数点の精度が原因で作成されます。正しい?
Ankit singh kushwah 2016年

1
のように画像が離散しているため、作成されません。変化する領域の値は1つだけです。
joojaa 2016年

カメラと光空間で画像が異なりますか?
Ankit singh kushwah 2016年

わかりました、ジグザグ線は深度マップを表していますか?
Ankit singh kushwah 2016年

これは深度マップの関数を表し、破線は深度マップのピクセルサンプルを表します。
joojaa

5

joojaaの答えへの追加として:バイアスを使用してシャドウ関数をオフセットすると、実際にシャドウニキビの問題が解決されますが、追加の問題が発生する可能性があります。Peter Panning

Peter Panningのサンプル画像

左の写真に見られるように、影は影付け壁から切り離されています。これは、ジオメトリが地面の上に浮かんでいるような印象を与えます(ピーターパンがホバリングできるように、ピーターパンニングという名前です)。

この問題を解決するには、ボリュームを持つ「厚い」ジオメトリを使用して、背面を使用してシャドウマップをレンダリングする必要があります。オフセットがジオメトリの厚さよりも小さい場合、Peter Panningはありません。

ジオメトリが厚く、Peter Panningがないシーン

両方の画像は、このチュートリアルから取得されたもので、シャドウマッピングのしくみ、シャドウニキビの作成と解決の方法、およびピーターパンニングについても学ぶことができます。


より賢く、中距離マップをレンダリングすることもできます。
joojaa 2016年


@MartinBüttnerええ、そうです。それをそのように呼ぶのが賢明な理由のようです。私が参照したチュートリアルは、私が与えた説明を使用しています。
Dragonseel 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.