Установить графику API или платформу для шейдера
По умолчанию Unity компилирует все программы для каждой графики API в списке для текущей цели сборки. Чтобы компилировать определенные программы только для определенных графиков APIs или платформ, например, если вы используете функции, которые не поддерживаются на всех платформах, используйте инструкцию #pragma.
Используйте одно из следующих в блоке HLSLPROGRAM шейдера:
#pragma only_renderersдля компиляции шейдеров только для конкретной графики API, например#pragma only_renderers metal.#pragma exclude_renderersдля исключения шейдеров из компиляции для конкретной графики API, например#pragma exclude_renderers metal.
Вы можете передавать несколько значений, добавляя пробел между каждым аргументом, например #pragma only_renderers metal vulkan.
Поддерживаемые значения:
| Значение | Описание |
|---|---|
d3d11 |
DirectX 11 функциональный уровень 10 и выше, DirectX 12 |
glcore |
OpenGL 3.x, OpenGL 4.x |
gles3 |
OpenGL ES 3.x, WebGL 2.0 |
metal |
Metal на iOS или macOS |
ps4 |
PlayStation®4 |
ps5 |
PlayStation®5 |
playstation |
PlayStation®4 или PlayStation®5 |
switch |
Nintendo Switch™ |
vulkan |
Vulkan |
webgpu |
WebGPU |
xboxseries |
Xbox Series S|X |