1

ImaginationのPowerVRドキュメントには、静的フロー制御があると書かれています。(7.9フローコントロール)

静的フロー制御とは何ですか?それはコンパイラプリプロセッサのような意味#if...#endifですか?そして彼らは言っている、

Static flow control can be used to combine many shaders into one big shader.

これはどういう意味ですか?1つのソースからシェーダーの多くのバリアントをインスタンス化できますか?

4

1 に答える 1

4

7.9の前のテキストによると:

条件付き実行が一様変数の値に依存する場合、これは静的フロー制御と呼ばれます

したがって、ユニフォームに基づいてブランチを決定するシェーダーが1つあります。それは静的フロー制御になります。

彼らが伝えようとしているのは、ユニフォームを設定するとシェーダーを動的に再プログラムできるということです。コンパイルされたコードには、シェーダーが実行されるたびに検索される値ではなく、新しいユニフォーム値がパッチされます。したがって、シェーダー内でユニフォームにアクセスするためのコストは、定数を使用する場合と同じであり、シェーダーの外側にユニフォームを設定するためのコストは、おそらくあなたが想像するよりも高くなります。

于 2012-08-22T02:11:17.110 に答える