Version: 2022.1
언어: 한국어
ShaderLab: 카테고리 블록으로 커맨드 그룹화하기
ShaderLab 커맨드: Blend

ShaderLab 커맨드: AlphaToMask

GPU에서 알파 투 커버리지 모드를 활성화하거나 비활성화합니다.

알파 투 커버리지 모드는 알파 테스트를 사용하는 셰이더(예: 초목 셰이더)와 함께 멀티샘플링 안티앨리어싱(MSAA)을 사용하는 경우 발생하는 과도한 앨리어싱을 줄일 수 있습니다. 이를 위해 알파 투 커버리지 모드는 멀티샘플 커버리지 마스크를 프래그먼트 셰이더 결과의 출력에 있는 알파값에 비례하여 수정합니다.

이 커맨드는 MSAA와 함께 사용하도록 고안되었습니다. MSAA를 사용하지 않을 때 알파 투 커버리지 모드를 활성화하는 경우, 여러 그래픽스 API와 GPU가 이를 각기 다르게 취급하므로 예측하기 어려운 결과가 발생할 수 있습니다.

렌더 파이프라인 호환성

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

사용법

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

서명 예제 구문 기능
AlphaToMask <state> AlphaToMask Off 알파 투 커버리지 모드를 활성화하거나 비활성화합니다.

유효한 파라미터 값

파라미터 기능
state On 알파 투 커버리지 모드를 활성화합니다.
Off 알파 투 커버리지 모드를 비활성화합니다.

예제

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

        Pass
        {    
              // Enable alpha-to-coverage mode for this Pass
              AlphaToMask On
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

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

Shader "Examples/CommandExample"
{
    SubShader
    {
         // Enable alpha-to-coverage mode for this SubShader
         AlphaToMask On

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

        Pass
        {    
              // The rest of the code that defines the Pass goes here.
        }
    }
}
ShaderLab: 카테고리 블록으로 커맨드 그룹화하기
ShaderLab 커맨드: Blend