1. ホーム
  2. オープングラム

[解決済み】GLSLシェーダをデバッグする方法は?

2022-04-10 11:01:04

質問

GLSLプログラムのデバッグをしたいのですが、中間結果をどのように出力すればいいのかわかりません。 GLSLでデバッグ用のトレース(printfのようなもの)を作成することは可能でしょうか?

どのように解決するのですか?

GLSL内部からCPUに簡単に通信を戻すことはできません。 glslDevilなどを使うのがベストです。

printfは、GLSLコードを実行しているGPUからCPUに戻ろうとする必要があります。 そのかわり、ディスプレイへの先送りを試すことができます。 テキストを出力しようとするのではなく、視覚的に特徴的なものを画面に出力してください。 たとえば、printf を追加したいコードのポイントに到達したときだけ、何かを特定の色に塗ることができます。 もし、ある値をprintfする必要があるなら、その値に応じて色を設定することができます。