컴퓨트 셰이더는 노멀 렌더링 파이프라인과 별도로 GPU에서 실행되는 셰이더 프로그램입니다.
대규모 병렬 GPGPU 알고리즘이나 게임 렌더링의 일부를 가속화하는 데 사용할 수 있습니다. 이를 효율적으로 사용하려면 GPU 아키텍처 및 병렬 알고리즘에 대한 심층적인 지식이 필요한 경우가 많습니다. 또한 DirectCompute, OpenGL Compute, CUDA, OpenCL에 대한 지식이 필요합니다.
Unity의 컴퓨트 셰이더는 DirectX 11 DirectCompute 기술과 매우 유사합니다. 컴퓨트 셰이더가 작동하는 플랫폼은 다음과 같습니다.
DirectX 11 또는 DirectX 12 그래픽스 API와 Shader Model 5.0 GPU가 적용된 Windows 및 Windows 스토어
Metal 그래픽스 API를 사용하는 macOS 및 iOS
Vulkan API가 적용된 Android, Linux, Windows 플랫폼
최신 OpenGL 플랫폼(Linux 또는 Windows의 경우 OpenGL 4.3, Android의 경우 OpenGL ES 3.1). Mac OS X는 OpenGL 4.3을 지원하지 않습니다.
최신 콘솔
일반 셰이더와 마찬가지로 Unity는 컴퓨트 셰이더를 HLSL에서 다른 셰이더 언어로 변환할 수 있습니다. 따라서 가장 쉬운 크로스 플랫폼 빌드를 위해 컴퓨트 셰이더를 HLSL로 작성해야 합니다. 하지만 이를 수행할 때 고려해야 할 몇 가지 요소가 있습니다.