このコードを使用して、glslシェーダーが正常にコンパイルされたかどうかを確認しています。
glGetObjectParameterivARB(obj, GL_OBJECT_INFO_LOG_LENGTH_ARB, &infologLength);
if (infologLength > 1)
{
int charsWritten = 0;
char * const infoLog = new char[infologLength];
glGetInfoLogARB(obj, infologLength, &charsWritten, infoLog);
tError(infoLog, false);
delete infoLog;
}
}
返される文字列の長さは、nvidiaおよびATIカードでは空ですが、Intelカードでは、これは「エラーなし」の文字列を返します。
本当にエラーがないかどうかを確認するための最良の方法は何ですか?この文字列をチェックする必要がありますか?または、この関数glGetInfoLogARBが返す必要のある規則はありますか?