一般的に、シェーダーでの分岐は良いアイデアではありません。しかし今では、描画呼び出し全体に対して一定の条件を持つシェーダーがあります。したがって、実行されるブランチは、1つの描画呼び出しに対して常に同じです。
そのような種類の分岐は、これらの分岐なしで複数のシェーダーを持ち、それらを切り替えるよりもまだ高価ですか?
1
フラグメントシェーダーのこの条件が非常に遅いの
—
マーティンエンダー
私の質問で答えが説明するように、フラグメントは「ワープ」または「ウェーブフロント」にグループ化され、そのようなグループ内のすべてのフラグメントが同じブランチを使用する場合、そのブランチのみが実行されます。
—
マーティンエンダー
しかし、フラグメントとは異なるシェーダーはどうでしょうか?
—
-nikitablack
同じように頂点がワープや波面に組み立てられると思います。
—
マーティンエンダー
これは重複していないと思いますが、それを決定する前に、何が尋ねられているかを明確にするために編集する必要があります。比較する2つのオプションのサンプルコードまたは説明が非常に役立ちます。
—
-trichoplax