gpt4 book ai didi

OpenGL/GLSL 检查着色器是否在英特尔卡上正常编译

转载 作者:行者123 更新时间:2023-12-04 20:03:16 24 4
gpt4 key购买 nike

我正在使用这段代码来检查我的 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 卡上返回字符串“no errors”。

如果真的没有错误,现在找出最好的方法是什么?我应该只检查这个字符串吗?或者这个函数 glGetInfoLogARB 应该返回什么?

最佳答案

尝试

bool CompileSuccessful(int obj) {
int status;
glGetShaderiv(obj, GL_COMPILE_STATUS, &status);
return status == GL_TRUE;
}

检查着色器是否编译成功

bool LinkSuccessful(int obj) {
int status;
glGetProgramiv(obj, GL_LINK_STATUS, &status);
return status == GL_TRUE;
}

检查整个程序是否链接成功。

关于OpenGL/GLSL 检查着色器是否在英特尔卡上正常编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com