フラグメントシェーダーに渡す浮動小数点データがたくさんある場合は、均一な配列またはテクスチャを使用することをお勧めしますか?均一な配列がそれを行うための適切な方法のようですが、配列のサイズは制限されているようです(特に私が働いているWebGLでは)何千ものオブジェクトに関する情報を(レイトレーシングの目的で)送信したい場合はデータを渡すためにテクスチャを使用する代わりの現実的な方法はありますか?これは悪いことですか、それとも良いことですか?
1152 次
1 に答える
2
テクスチャは、大量の浮動小数点データを取得するための方法です。
可能であれば、データを4コンポーネントのベクトルにパックし、フラグメントシェーダーからできるだけ多くの分岐命令を削除します。アイデアは、GPUで実行するロジックをできるだけ少なくし、シェーダーを大量のデータで実行する必要のあるいくつかの操作に要約することです。
超並列ハードウェアのプログラミングは、CPUのコーディングとはまったく異なり、パフォーマンスに関する標準的な直感の多くは、並列環境では完全に反対です。開始するのに適した場所は次のとおりです。
http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide.pdf
于 2011-10-21T05:08:21.513 に答える