1

この例を使用して、webgl でシャドウ マッピングを実装しようとしています: チュートリアル

私がやろうとしていることは

深度テクスチャとフレームバッファを初期化します。単純なシェーダーを使用してそのフレームバッファーにシーンを描画し、テクスチャとして深度テクスチャーを持つボックスを使用して新しいシーンを描画し、他のシェーダーを使用して深度マップを表示できるようにします。

colortexture では問題ないように見えますが、すべて白の depthtexture で作業することはできません。

私はドロップボックスにコードを置きます: ソースコード はほとんどがファイルインデックスhtml webgl_all jsオブジェクトjsにあります

現在使用していないライト シェーダーがいくつかあります。

誰かが私を助けてくれることを本当に願っています。

デンマークからのご挨拶

4

1 に答える 1

0

これにはいくつかの原因が考えられます。

  • ニア プレーンとファー プレーンの一般的なセットアップでは、正規化された深度値は、実際には同じではありませんが、ほとんどのシーンですべて白く見えるほど十分に高くなります (深度テクスチャの精度は少なくとも 16 ビットであることを思い出してください。画面出力はカラー チャネルごとに 8 ビットしかないため、値がすべて同じでなくても、深度テクスチャがすべて白く表示される場合があります。)
  • 一部のセットアップ (デスクトップ OpenGl など) では、テクスチャ フィルタリングがミップマップを使用するように設定されているが、すべてのミップマップ レベルが作成されていない場合、テクスチャが不完全な場合、テクスチャがすべて白く表示されることがあります。これはWebGlでも同じかもしれません。
  • ブラウザの WebGl 実装のバグに遭遇した可能性があります。
于 2014-08-31T16:35:03.593 に答える