Edited at

UnityでComputeShaderのFindKernelが使えなかった時の対処方法

More than 1 year has passed since last update.


はじめに

自分はUnityでゲームをつくるというよりかは映像制作のツールとして使っています。最近では ComputeShaderをいじったりしています。そんな中コードをいじっていてもcomputetshader内にあるカーネルを取得出来なかったことがあったので、解決方法を記しておこうと思います。


解決法


手順

project setting -> Player -> other -> Metal Editor SupportとMetal API Validationにチェックを入れると解決することが出来ました。


理由

調べてみたところ、OpenGL ESではFragmentShader,VertexShaderまでしか対応していなく、metalを使うことでComputeShaderを使うことができるようになるみたいです。

僕もわからないことが多いのでミスがあればご指摘お願いします。


参考

http://japan.unity3d.com/blog/?p=1719

https://qiita.com/s_s_k/items/db4c711f7c5be7ed70ab