我正在使用这段代码来检查我的 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 应该返回什么约定?