Unityグラフィックスコマンドバッファグラフィックス命令キャッシュ



Unity Graphics Command Buffers Graphics Instruction Cache



CommandBufferの内容についてはあまりありません。

しかし、重要なのはそれをどのように使用するかを知ることです。



(最初に、SRP:Scriptable Rendering PipelineまたはURP:Universal Rendering Pipelineに関係なく、SRP、URPが出力された後、CommandBufferは役に立たなくなりましたが、好奇心旺盛な心の中で、CommandBufferを段階的に見つけるために使用していません)

公式オリジナル: グラフィックコマンドバッファ
翻訳原語:2019.3



サンプルコード

これは、Unityプロジェクトの効果のいくつかを示すためのコマンドバッファの使用です。 RenderingCommandBuffers.zip

ぼやけた屈折

すりガラスの屈折



このシナリオは、すりガラスの実装に使用できることを示しています。
画像

Unityでレンダリングされた不透明なオブジェクト スカイボックス 空以降、現在の画像の内容を一時的なRTにコピーし、ぼかします。次に、このぼやけた画像をガラスシェーダーでサンプリングし、法線マップ(法線マップ)を使用してUVの影響をオフセットし、屈折に到達します。同様の方法で現在の画像コンテンツを取得します。 シェーダーグラブパス

(GrabPassのコンテンツについては、以前に書いた記事を参照することもできます。 Unity Shader GrabPassは、問題に注意を払います )。

据え置きパイプラインのカスタムエリアライト

カスタムエリアライトレンダリングパイプライン遅延

このシナリオは、ライトの管状および円形の領域をレンダリングする際の遅延を増やすことができることを示しています。
画像

通常、処理遅延Unityイルミネーションレンダリングパスを使用する場合、カスタムイルミネーションごとに球が描画されます。各シェーダーはボールを使用して計算され、ライトイルミネーションキャッシュ(ライトバッファー)に追加されます。

据え置きパイプラインのデカール

遅延ラインでデカール(デカール)を達成する

このシナリオは、デカール(デカール)のレンダリング遅延の処理を示しています。
画像
UnityはGバッファーを処理し、各デカール(デカール)をGバッファーの内容に描画します。 Unity NVC照明処理パイプライン処理遅延、彼はテクスチャをGバッファーに変更し、2つのバッファーが光を蓄積します。
画像
この実施形態は、デカールのみを扱い、立方体の形状が交差する。