新しいコアイメージフィルターを作成するときは、穏やかに変異したOpenGLシェーダー言語であるコアイメージカーネル言語でカーネルを作成する必要があります。これらを実行時に次のようにコンパイルします…</p>
NSString *myCode = ...
NSArray *kernels = [CIKernel kernelsWithString:myCode];
問題は構文エラーであり、配列の代わりにnilが返されるだけです。文書化されたAPIは、診断情報を取得するメカニズムを提案していません。
Appleドキュメントで推奨されているように、Quartz Composerでフィルターを操作すると、構文エラー情報が得られることがわかります。(これは単純なフィルターでのみ機能します。)
では、どのようにして不良カーネルソースファイルの診断情報を取り戻すのでしょうか?
更新:状況によっては、コンソールにフォーマットされた行が表示される場合があります。運が良ければ、これについて心配する必要はありません。次のような行を探してください。
8: error: in function kernel vec4 clipDetection (uniform in sampler, uniform in float)
8: error: unknown variable name: gratuitous
もちろん、それでも情報を入手する必要がある場合は…</ p>