このページでは、Unity の スクリプタブルレンダーパイプライン (SRP) の仕組みを説明し、いくつかの重要な概念や用語を紹介します。このページの情報は、ユニバーサルレンダーパイプライン (URP)、HD レンダーパイプライン (HDRP)、SRP をベースにしたカスタムレンダーパイプラインに当てはまります。
SRP は、C# スクリプトを使用してレンダリングのコマンドのスケジュールと設定を行うための薄い API レイヤーです。Unity はこれらのコマンドを Unity の低レベルのグラフィックスアーキテクチャに渡し、グラフィックス API に指示を送信します。
URP と HDRP は SRP の上に構築されています。また、SRP の上に独自のカスタムレンダーパイプラインを作成することもできます。
SRP に基づくすべてのレンダーパイプラインには、カスタマイズされた 2 つの重要な要素があります。
Render()
メソッドをオーバーライドします。CreatePipeline()
メソッドをオーバーライドします。これらの要素の詳細やカスタムレンダーパイプラインでの作成方法については、レンダーパイプラインインアセットとレンダーパイプラインインインスタンスの作成 を参照してください。
ScriptableRenderContext
は、レンダーパイプラインのカスタムの C# コードと Unity の低レベルグラフィックコードの間のインターフェースとして機能するクラスです。
ScriptableRenderContext API を使用して、レンダリングコマンドのスケジューリングと実行を行います。詳しくは、スクリプタブルレンダーパイプラインでのレンダリングコマンドのスケジューリングと実行 を参照してください。
SRP を使用する場合、以下を使用して Unity が特定の時間に C# コードを呼び出すようにします。
beginContextRendering
instead.endContextRendering
instead.