Version: 2020.3
언어: 한국어
ShaderLab 커맨드: GrabPass
ShaderLab 커맨드: ZTest

ShaderLab 커맨드: ZClip

GPU의 뎁스 클립 모드를 설정합니다. 이 모드는 GPU가 근평면과 원평면 외부에 있는 프래그먼트를 처리하는 방식을 결정합니다.

GPU의 뎁스 클립 모드를 clamp로 설정하는 것은 스텐실 그림자 렌더링에 유용할 수 있습니다. 이는 지오메트리가 원평면보다 멀어지면 특수 케이스 처리를 할 필요가 없음을 의미하는데, 이 경우 렌더링 연산이 감소하지만 잘못된 Z 순서 지정이 발생할 수 있습니다.

렌더 파이프라인 호환성

기능 이름 빌트인 렌더 파이프라인 유니버설 렌더 파이프라인(URP) 고해상도 렌더 파이프라인(HDRP) 커스텀 SRP
ZClip 지원 지원 지원 지원

사용법

이 커맨드는 렌더 상태를 변경합니다. Pass 블록에서 사용하여 해당 패스의 렌더 상태를 설정하거나, SubShader 블록에서 사용하여 해당 서브셰이더에 있는 모든 패스의 렌더 상태를 설정할 수 있습니다.

서명 예제 구문 기능
ZClip [enabled] ZClip True 뎁스 클립 모드를 설정합니다.

유효한 파라미터 값

파라미터 기능
enabled True 뎁스 클립 모드를 clip으로 설정합니다(기본값).

False 뎁스 클립 모드를 clamp로 설정합니다.

근평면보다 가까운 프래그먼트는 정확히 근평면에 있으며, 원평면보다 멀리 떨어진 프래그먼트는 정확히 원평면에 있습니다.

예제

이 예제 코드는 Pass 블록에서 이 커맨드를 사용하기 위한 구문을 나타냅니다.

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

        Pass
        {    
              // Sets the GPU's depth clip mode to clamp for this Pass
              // You would typically do this if you are rendering stencil shadows
              ZClip False
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

이 예제 코드는 SubShader 블록에서 이 커맨드를 사용하기 위한 구문을 나타냅니다.

Shader "Examples/CommandExample"
{
    SubShader
    {
         // Sets the GPU's depth clip mode to clamp for this SubShader
         // You would typically do this if you are rendering stencil shadows
         ZClip False

         // The rest of the code that defines the SubShader goes here.        

        Pass
        {    
              // The rest of the code that defines the Pass goes here.
        }
    }
}
ShaderLab 커맨드: GrabPass
ShaderLab 커맨드: ZTest