gpt4 book ai didi

c++ - 恢复应用程序时 glUseProgram 中的 GL_INVALID_VALUE

转载 作者:行者123 更新时间:2023-11-28 07:34:03 28 4
gpt4 key购买 nike

我在以下代码中的 glUseProgram(mYUVProgram); 处收到 GL_INVALID_VALUE , 0x0501 错误。它发生在恢复应用程序时。根据glUseProgram docs

GL_INVALID_VALUE is generated if program is neither 0 nor a value generated by OpenGL.

我想知道如何在应用程序恢复后检查 mYUVProgram 的值,无论其是否有效。这样,如果 mYUVProgram 的值无效,我就可以再次创建着色器程序。 (我只是 OpenGL 的初学者所以如果这个问题太微不足道请原谅我)

代码

void draw() {
if (!mFrameTexture) {
glGenTextures( 1, &mFrameTexture );
mProgram = Shaders::addProgram(this, (char *) Shaders::vertexShader,
(char *) Shaders::fragmentShader);
//other initialization code
CCLOG("draw:: added shader");
}

glUseProgram(mYUVProgram);
//other drawing code
}

最佳答案

如果我错了请纠正我,但我相信这就是您要找的东西?

http://www.opengl.org/sdk/docs/man/xhtml/glIsProgram.xml

例如。

if ( glIsProgram( mYUVProgram ) != GL_TRUE ){
// Recreate mYUVProgram
}
glUseProgram( mYUVProgram);

关于c++ - 恢复应用程序时 glUseProgram 中的 GL_INVALID_VALUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083911/

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