まとめ
Mari 3.3v1 以前では、シェーダーを再コンパイルする必要があるため、ブレンド モードの変更は非常に困難なプロセスになる場合がありました。この記事では、ブレンド モード キャッシュを使用してパフォーマンスを向上させ、ダイナミック モードで必要なシェーダーの再コンパイルの数を減らす方法について説明します。
詳しくは
ダイナミックシェーダ コンパイル モードは、シェーダがかなり重くなるという代償を払って、シェーダのコンパイル速度を向上させます。このダイナミック モードは複数の操作をキャッシュすることでコンパイル レートを削減しますが、一部のアーティストは依然として、異なるブレンド モードを切り替えるときに定期的にシェーダーの再コンパイルに遭遇します。
Mari 3.4v1 では、再コンパイルの回数を減らすために、動的キャッシュ システムにブレンド モードが組み込まれています。ダイナミック モードでは、ユーザーがレイヤー、マージ ノード、またはペイント バッファのブレンド モードを変更した場合、ビューポート内で回転ホイールが完了するのを待つ必要はなく、即座に変更される必要があります。
キャッシュ システムは、アーティストが再コンパイルを実行することなく使用できる 5 つのブレンド モードの「履歴」をサポートします。
注:ブレンド モードの詳細については、 Mariオンライン ヘルプの「ペイント ブレンド モード」セクションを参照してください。
注:デフォルトのシェーダー コンパイル モードは自動です。これは、必要に応じて動的モードと最適化モードの両方を使用するため、ほとんどのMariセッションに最適です。
ブレンド モードのキャッシュ状態からメリットを得られるようにカスタム ノードを調整する方法
<Attribute Name="BlendMode" PrettyName="Mode" Group="" Type="userenum">Dynamic: MriBlendMode:Comp_Default</ Attribute>
- 動的:MriBlendMode:Comp_デフォルト-通常のブレンド モード タイプ (すべてのモード)。
- 動的:MriBlendModeNoAlpha: Comp_Default - アルファ ブレンド モードを含まないタイプ用。
Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
#if defined(MRI_GENERAL_ COMPOSITION)
Output = Comp_General($BlendMode, _Base, _Over, #Mask.r * AdvancedBlendAmount);
#else
Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
#endif // defined(MRI_GENERAL_COMPOSITION)
私たちはそれを聞いて申し訳ございません
理由をお聞かせください