셰이더 오브젝트는 하나 이상의 서브셰이더를 포함합니다. 서브셰이더를 사용하면 다양한 하드웨어, 렌더 파이프라인 및 런타임 설정에 대해 다른 GPU 설정과 셰이더 프로그램을 정의할 수 있습니다. 일부 셰이더 오브젝트는 하나의 서브셰이더만 포함하고, 다른 셰이더는 여러 개의 서브셰이더를 포함하여 다양한 설정을 지원합니다.
셰이더 오브젝트의 작동 방식 및 셰이더 오브젝트, 서브셰이더와 패스의 관계에 대해 알아보려면 셰이더 오브젝트 소개를 참조하십시오.
ShaderLab에서는 Shader 블록 안에 SubShader 블록을 넣어 서브셰이더를 정의합니다.
이 예제 코드는 싱글 패스를 포함한 단일 서브셰이더를 포함하는 셰이더 오브젝트를 만들기 위한 구문을 나타냅니다.
Shader "Examples/SinglePass"
{
SubShader
{
Tags { "ExampleSubShaderTagKey" = "ExampleSubShaderTagValue" }
LOD 100
// ShaderLab commands that apply to the whole SubShader go here.
Pass
{
Name "ExamplePassName"
Tags { "ExamplePassTagKey" = "ExamplePassTagValue" }
// ShaderLab commands that apply to this Pass go here.
// HLSL code goes here.
}
}
}