Version: 2023.1
언어: 한국어
ShaderLab 커맨드: Conservative
ShaderLab 커맨드: Offset

ShaderLab 커맨드: Cull

카메라를 기준으로 폴리곤이 향한 방향에 기반하여 GPU가 호출할 폴리곤을 설정합니다.

컬링은 그리지 말아야 할 것을 정하는 프로세스입니다. 컬링은 GPU의 시간을 최종 이미지에 보이지 않을 요소를 그리는 데 낭비하지 않게 하여 렌더링 효율성을 개선합니다.

기본적으로 GPU는 백페이스 컬링을 수행합니다. 즉, GPU는 보는 사람을 등진 폴리곤을 그리지 않습니다. 보통 렌더링 워크로드를 더 많이 줄일수록 좋으므로, 필요한 경우에만 이 설정을 변경해야 합니다.

렌더 파이프라인 호환성

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

사용법

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

서명 예제 구문 기능
Cull <state> Cull Back 카메라를 기준으로 폴리곤이 향한 방향에 기반하여 GPU가 호출할 폴리곤을 설정합니다.

유효한 파라미터 값

파라미터 기능
state Back 카메라를 등진 폴리곤을 컬링합니다. 이를 백페이스 컬링이라고 합니다(기본값).

Front 카메라를 향하는 폴리곤을 컬링합니다. 이를 프론트페이스 컬링이라고 합니다.

지오메트리의 안쪽과 바깥쪽을 뒤집을 때 사용합니다.
Off 폴리곤이 향하는 방향에 기반하여 폴리곤을 컬링하지 않습니다.

투명한 오브젝트나 양면 벽과 같은 특수효과에 사용합니다.

예제

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

        Pass
        {    
              // Disable culling for this Pass.
              // You would typically do this for special effects, such as transparent objects or double-sided walls.
              Cull Off
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

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

Shader "Examples/CommandExample"
{
    SubShader
    {
         // Disable culling for this SubShader.
         // You would typically do this for special effects, such as transparent objects or double-sided walls.
         Cull Off

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

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