Version: Unity 6.0 (6000.0)
言語 : 日本語
GPU でレンダリングステートを設定する
シェーダーでのカリングモードの設定

シェーダーでの慎重なラスタライゼーションを有効にする

ラスタライゼーションは、三角形の投影で覆われているピクセルを判別して、ベクトルデータ (三角形投影) をピクセルデータ (レンダーターゲット) に変換するレンダリング技法です。通常、GPU はピクセル内のポイントをサンプリングして三角形で覆われているかどうかを判断し、ピクセルをラスタライズするかどうかを決定します。覆われている範囲が十分であれば、GPU はピクセルが覆われていると判断します。慎重なラスタライゼーションとは、覆われている範囲に関係なく、三角形で部分的に覆われたピクセルを GPU がラスタライゼーションすることです。これは、オクルージョンカリング、GPU での衝突判定、可視性判定など、確実性が求められる場合に便利です。

慎重なラスタライゼーションは、GPU が三角形のエッジ/辺でより多くのフラグメントを生成することを意味します。これは、より多くのフラグメントシェーダの呼び出しにつながり、GPU フレームタイムの増加につながります。

SystemInfo.supportsConservativeRaster API を使用してハードウェアサポートを確認してください。このコマンドがサポートされていないハードウェアでは、この API は無視されます。

Shader "Examples/CommandExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              // Enable conservative rasterization for this Pass.
              Conservative True
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

追加リソース

GPU でレンダリングステートを設定する
シェーダーでのカリングモードの設定