2
私が理解するように、遅延シェーディングを実装する唯一の方法は、MRTを使用し、異なるテクスチャをバインドしてデータをカラー添付ファイルに格納することです。問題は、WebGL specificationsが単一の色の添付ファイルCOLOR_ATTACHMENT0を定義していることです。この制限付きでWebGLの遅延シェーディングを実装することは可能ですか?WebGLで遅延シェーディングを実装できますか?
私が理解するように、遅延シェーディングを実装する唯一の方法は、MRTを使用し、異なるテクスチャをバインドしてデータをカラー添付ファイルに格納することです。問題は、WebGL specificationsが単一の色の添付ファイルCOLOR_ATTACHMENT0を定義していることです。この制限付きでWebGLの遅延シェーディングを実装することは可能ですか?WebGLで遅延シェーディングを実装できますか?
テクスチャにレンダリングすることで遅延シェーディングを実装できますが、パスごとにすべてのジオメトリ(拡散、深度、その他)を再描画するか、必要なすべての情報を単一のRGBAテクスチャに格納する必要があります。次に、これらのテクスチャをシェーダでサンプリングして最終結果を生成します。
フロートテクスチャの拡張機能がありますが、どこでも使えるとは限りません。
おそらく理解されるように、遅延はWebGLでは最適ではありません:)