GLSLシェーダを使用するプロジェクトがあります。GLSL Shaderをインテルでコンパイル
このプロジェクトは、何か問題が起きないか、明示的に何か特別なデバッグ出力をオンにしない限り、何も出力しないように設計されています。
glGetProgramInfoLog
によって与えられるログの長さは、シェイダーのコンパイルに失敗すると> 0になり、時にはコンパイルの警告が返されます。ログの長さを完全にコンパイルするシェーダがある場合、< 1 ...これは、私の開発マシンのNVidiaカードで動作する方法です。
私の罪については、私はまた、Intel内蔵グラフィックスカードを備えたノートパソコンでデベロッパーもしています。コードは細かい動作しますが、私はコンパイルシェーダを行うたびログが含まれています
は非常に迷惑です
「シェーダーが正常にハードウェア上で実行するようにコンパイルされた」、私は今、私がすべきかどうかを判断する方法がありませんよう文字列解析とは別に、文字列を出力してください。例:
strstr("successfully",log)
なぜそれが望ましくないのでしょうか。 メッセージがOpenGL APIを使用して印刷する価値があるかどうかをどうして知ることができますか?
EDIT:
私はglGetShaderiv(shaderobj,GL_COMPILE_STATUS,&err);
を使用している場合、私は警告、エラーのみをコンパイルし得ることはありません。ここで
返信いただきありがとうございます。 – DaedalusFall
警告、またはエラーはありますが、成功メッセージはないかどうかを知りたい場合は、申し訳ありませんが、私はかなりコンパイル状態がすべてあることを確信しています。 –
はい、まさに私が欲しいものです。 恥、私はそれを乱雑なやり方でやらなければならないだろう。おかげさまで – DaedalusFall