默认情况下,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 |