计算着色器是在 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 平台(Linux 或 Windows 上的 OpenGL 4.3;Android 上的 OpenGL ES 3.1)。请注意,Mac OS X 不支持 OpenGL 4.3
现代游戏主机
与常规着色器一样,Unity 可将计算着色器从 HLSL 转换为其他着色器语言。因此,对于最简单的跨平台版本,应以 HLSL 编写计算着色器。但是,在执行此操作时需要考虑一些因素。