Unity 6.3
0 онлайн 134 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 417 из 442

HLSL ссылка на команду pragma target

Вот список моделей шейдеров, которые использует Unity, и комбинация значений #pragma require, которой соответствует каждая из них.

Примечание: модели шейдеров Unity похожи на модели шейдеров DirectX и требования к версии OpenGL, но они не совпадают в точности. Внимательно прочитайте описания, чтобы убедиться, что вы понимаете различия.

Значение Описание Поддержка Эквивалент #pragma require значения
2.0 Эквивалент DirectX модель шейдера 2.0.

Ограниченное число арифметических и текстурных инструкций; 8 интерполяторов; нет выборки текстур в вершинном шейдере; нет производных во фрагментных шейдерах; нет выборки текстур с явным LOD.
Работает на всех платформах, поддерживаемых Unity. N/A
2.5 Почти то же самое, что и 3.0, но только с 8 интерполяторами, и без явного LOD текстурного семплирования. DirectX 11 функций уровня 9+
OpenGL 3.2+
Vulkan
Metal
derivatives
3.0 Эквивалент модели шейдера DirectX 3.0.

.
DirectX 11 уровень функций 10 +
OpenGL 3.2+
OpenGL ES 3.0+
Vulkan
Metal
Все в 2.5, плюс:
interpolators10 samplelod fragcoord
3.5 Эквивалент OpenGL ES 3.0.

DirectX 11 функций уровня 10+
OpenGL 3.2+
OpenGL ES 3+
Vulkan
Metal
Все в 3.0, плюс:
interpolators15 mrt4 integers 2darray instancing
4.0 Эквивалент DirectX модели шейдера 4.0, но без требования поддерживать 8 MRTs. DirectX 11 уровень функций 10+
Настольный OpenGL 3.x
OpenGL ES 3.1
OpenGL ES 3.1 + Android Пакет расширения (AEP)
OpenGL 3.2+
Vulkan
Metal (если этап геометрии не определен)
Все в 3.5, плюс:
geometry
gl4.1 Эквивалент OpenGL 4.1 Настольный OpenGL 4.1
Модель шейдера 4.0 + тесселяция для соответствия возможностям macOS 10.9.
Все в 4.0, плюс:
cubearray tesshw tessellation msaatex
4.5 Эквивалент OpenGL ES 3.1. DirectX 11 функций уровня 11+
OpenGL 4.3+
OpenGL ES 3.1
Vulkan
Metal
Все в 3.5, плюс:
compute randomwrite msaatex
4.6 Эквивалент OpenGL 4.1.

Это самый высокий уровень OpenGL, поддерживаемый на Mac.
DirectX 11 уровень особенностей 11+
OpenGL 4.1+
OpenGL ES 3.1 + AEP
Vulkan
Metal (если не определен этап геометрии и не определен этап корпуса или домена)
Все в 4.0, плюс:
cubearray tesshw tessellation msaatex
5.0 Эквивалент модели шейдера DirectX 5.0, но без требования поддерживать 32 интерполятора или массивы кубических карт. DirectX 11 уровень функций 11+
Настольный OpenGL >= 4.2
OpenGL 4.3+
OpenGL ES 3.1 + AEP
Vulkan
Metal (если не определен этап геометрии и не определен этап корпуса или домена)
Все в 4.0, плюс:
compute randomwrite msaatex tesshw tessellation

Сведения о поддержке модели шейдера для консольных платформ см. в документации по конкретным платформам.

Примечания:

  • В определениях DirectX модель шейдера 4.0 включает mrt8, а модель шейдера 5.0 включает interpolators32 и cubearray. Unity не включает их для более широкой совместимости. Чтобы потребовать эти возможности, используйте явную директиву #pragma require.
  • Если вы используете цель, которая требует geometry, но ваш шейдер не определяет стадию геометрии, Unity удаляет geometry из списка требований во время компиляции.
  • Если вы используете цель, которая требует tessellation, но ваш шейдер не определяет стадию корпуса или домена, Unity удаляет tessellation из списка требований во время компиляции.