カメラに対するポリゴンの向きに基づいて、GPUがどのポリゴンをカリングするかを設定します。
カリングとは、描画しない対象を決定するプロセスです。カリングを行うことで、最終的な画像に表示されないものを描画するために GPU の時間を無駄にすることなく、レンダリング効率が向上します。
デフォルトでは、GPU は裏側のカリングを実行します。これは、ビューアーに背を向けているポリゴンを描画しないことを意味します。一般的に、レンダリングの作業負荷は軽減できるほど良いので、この設定を変更するのは必要なときだけにしてください。
機能名 | ビルトインレンダーパイプライン | ユニバーサルレンダーパイプライン (URP) | HD レンダーパイプライン (HDRP) | カスタム SRP |
---|---|---|---|---|
Cull | 可 | 可 | 可 | 可 |
このコマンドは、レンダー状態の変更を行います。Pass
ブロックで使用すると、そのパスのレンダー状態を設定することができます。また、SubShader
ブロックで使用すると、そのサブシェーダー内のすべてのパスのレンダー状態を設定することができます。
シグネチャ | 構文例 | 機能 |
---|---|---|
Cull <state> |
Cull Back |
カメラに対するポリゴンの向きに基づいて、GPU がどのポリゴンの描画を省くかを設定します。 |
パラメーター | Value | 機能 |
---|---|---|
状態 | Back |
カメラに裏を向けているポリゴンを省きます。これを裏面カリングといいます。 これがデフォルトの値です。 |
Front |
カメラの方を向いているポリゴンの描画を省きます。 ジオメトリを裏返しにする場合に使用します。 |
|
Off |
ポリゴンの向きに基づいてカリングをおこないません。 透明なオブジェクトや両面壁 (裏表がない) などの特殊な効果に使用します。 |
Shader "Examples/CommandExample"
{
SubShader
{
// SubShader を定義する残りのコードはここに記述します
Pass
{
// このパスにはカリングは行いません
// 通常、これは、透明なオブジェクトや両面壁などの特殊な効果に対して行います
Cull Off
// パスを定義する残りのコードはここに記述します
}
}
}
このサンプルコードでは、SubShader ブロックでこのコマンドを使用するための構文を示しています。
Shader "Examples/CommandExample"
{
SubShader
{
// Disable culling for this SubShader.
// 通常、これは、透明なオブジェクトや両面壁などの特殊な効果に対して行います
Cull Off
// SubShader を定義する残りのコードはここに記述します
Pass
{
//パスを定義する残りのコードはここに記述します
}
}
}