Unity 6.3
0 онлайн 25 гостей 3 в системе
Вход

Введение в вычислительные шейдеры

Вычислительные шейдеры — это шейдерные программы, которые запускаются на GPU вне обычного конвейера рендеринга.

Они могут быть использованы для массивно параллельных GPGPU алгоритмов, или для ускорения частей рендеринга игры. Чтобы эффективно использовать их, часто требуется глубокое знание GPU архитектур и параллельных алгоритмов; а также знание DirectCompute, OpenGL Compute, CUDA, или OpenCL.

Вычислительные шейдеры в Unity близко соответствуют технологии DirectX 11 DirectCompute. Платформы, на которых работают вычислительные шейдеры:

  • Windows и Windows магазин, с DirectX 11 или DirectX 12 графики API и Shader Model 5.0 GPU

  • macOS и iOS с использованием Metal графики API

  • Android, Linux и Windows платформы с Vulkan API

  • Современные OpenGL платформы (OpenGL 4.3 на Linux или Windows; OpenGL ES 3.1 на AndroidОбратите внимание, что Mac OS X не поддерживается OpenGL 4.3

  • Современные консоли

Кросс-платформенная поддержка

Как и с обычными шейдерами, Unity способен переводить вычислительные шейдеры из HLSL на другие языки шейдеров. Поэтому для самых простых кросс-платформенных сборок вы должны писать вычислительные шейдеры в HLSL. Однако, есть некоторые факторы, которые необходимо учитывать при этом.