기본적으로 Unity는 모든 지원되는 그래픽스 API에 대해 모든 셰이더 프로그램을 컴파일합니다. 특정 API를 제외하거나 포함하도록 컴파일러에 알릴 수 있습니다. 이는 모든 플랫폼에서 지원되지는 않는 셰이더 언어 기능을 사용할 때 유용합니다.
특정 그래픽스 API용으로만 셰이더 프로그램을 컴파일하려면 #pragma only_renderers
지시문을 사용합니다. 특정 API를 컴파일에서 제외하려면 #pragma exclude_renderers
지시문을 사용합니다.
예제:
# pragma only_renderers d3d11
pragma 지시문에 대한 자세한 내용은 셰이더 컴파일: pragma 지시문을 참조하십시오.
지원되는 이름은 다음과 같습니다.
상태 | Renderer |
---|---|
d3d11 |
Direct3D 11/12 |
glcore |
OpenGL 3.x/4.x |
gles |
OpenGL ES 2.0 |
gles3 |
OpenGL ES 3.x |
metal |
iOS/Mac Metal |
vulkan |
Vulkan |
d3d11_9x |
Direct3D 11 9.x 기능 레벨, WSA 플랫폼에서 주로 사용 |
xboxone |
Xbox One |
ps4 |
PlayStation 4 |
n3ds |
Nintendo 3DS |
wiiu |
Nintendo Wii U |