2

シンプルなシーンに WebGLDeferredRenderer を使用しています (部屋をシミュレートする立方体と影をテストするための 2 つの小さな立方体で作成) が、シーンで使用されている areaLight から生成された影を表示できません!

このデモには 3 つのエリア ライトがありますが、いずれも 1 つのオブジェクトに影を生成しません (「部屋」を照らすだけです)。

この問題を解決するために使用できる特定のシェーダーはありますか? それとも...遅延レンダリングで影を落とす可能性はありますか? :)

4

4 に答える 4

3

シャドウは現在、。を使用した遅延レンダリングを使用するthree.jsr.56ではサポートされていませんWebGLDeferredRenderer

これは、three.jsで遅延レンダリングを使用してポイントライトとスポットライトが影を落とす2つの例ですが、ライブラリの変更バージョンを使用しています。

http://alteredqualia.com/three/examples/webgl_deferred_shadowmap.html

http://alteredqualia.com/three/examples/webgl_deferred_shadowmap_point.html

ただし、エリアライトの例はまだありません。

したがって、必要なのは実行可能であり、まだサポートされておらず、エリアライトではありません。

three.js r.56

于 2013-02-23T16:15:37.903 に答える
0

エリアの大きさに基づいて、シャドウマッピング ソースをプッシュバックする必要があると思います...シャドウキャスターをプッシュする必要がある距離に応じて、パーセンテージ クローズ フィルタリングを使用して眼球を混乱させることもできます。

于 2014-07-17T20:01:11.727 に答える
0

エリア ライト シャドウはまだ実装されていないと思いますが、おそらく誰かが取り組んでいるので、将来的には可能になるかもしれません。自分でやろうとすることもできますが、それには深刻なプログラミングスキルが必要です。解決するのは簡単な問題ではありません:)

現在、ディファード レンダラーでスポット ライト シャドウとディレクショナル ライト シャドウを使用できると思います。おそらく、ポイント ライト シャドウも使用できます。

影だけに低強度の別のライト タイプを使用して影を偽造することもできますが、それは少し不安定に見えるかもしれません。

于 2013-02-23T12:49:44.600 に答える
0

ディレクショナル ライトまたはポイント ライトを使用します。エリア ライトは影を落としません。

于 2013-02-23T12:45:11.340 に答える