こんにちは、Unityエンジニアのオオバです。
Unityでコンピュートシェーダーを始めてみた
先日始めたコンピュートシェーダーにおけるトラブル備忘録です。
1.FindKernelしてもカーネルが見つからない問題
そもそもカーネル名をタイポしているというのは除外すると、ほぼ9割型シェーダーのコンパイルエラーが原因かと思います。
一応以下のような対処記事がありました。
404 Not Found - Qiita - Qiita
しかし、オオバが出会った状況は、全てシェーダーの記述ミスによるコンパイルエラーでした。
2.フロート型の書式でシェーダーのコンパイルエラー
おそらくHLSL全般にいえるのかなという内容です。整数に対しf
サフィックスをつけるとエラーです。
OKパターン
float a = 1.0f;
失敗パターン
float a = 20f;
3.コンピュートシェーダーのコンパイルエラーは無言
コンソールにシェーダーコンパイルのエラーなんて親切なことはしてくれません。目安はコンピュートシェーダーのインスペクタです。
コンピュートシェーダーコンパイル成功パターン

コンピュートシェーダーコンパイル失敗パターン

この2つの違いは、カーネルが表示されているか、していないかです。コンソールで語ることはしないようです。
→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら
もくじ
ひとこと
- そろそろ人生2度目のキッザニアに行く予定

この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- Unity2018.2.11f1
- macOS HighSierra 10.13.6