때로는 동일한 셰이더가 서로 다른 상황에서 다른 작업을 수행하도록 하려는 경우가 있습니다. 예를 들어 서로 다른 머티리얼에 설정을 다르게 지정하거나, 다른 하드웨어에 대한 기능을 정의하거나, 런타임 시 셰이더의 동작을 동적으로 변경할 수 있습니다. 텍스처 읽기, 버텍스 입력, 인터폴레이터, 루프와 같이 컴퓨팅 리소스를 많이 소모하는 코드를 실행하지 않는 것도 좋습니다.
조건부를 사용하여 GPU가 특정 조건에서만 실행하는 동작을 정의할 수 있습니다.
| 페이지 | 설명 |
|---|---|
| 셰이더 브랜칭 | 조건부를 사용하여 셰이더에서 정적 및 동적 브랜치를 생성하고 빌트인 매크로를 사용하여 브랜칭하는 리소스입니다. |
| 셰이더 키워드 | 셰이더 키워드를 추가하고, 셰이더 키워드를 사용하여 브랜치와 셰이더 배리언트를 생성하고, Unity 에디터 또는 스크립트에서 토글하는 리소스 및 기법입니다. |