コンピュートシェーダーは、通常のレンダーパイプラインの外で 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 で記述する必要があります。ただし、これを行う際に考慮が必要な要因がいくつかあります。