次のコードでGL_INVALID_VALUE, 0x0501
エラーが発生しています。glUseProgram(mYUVProgram);
アプリの再開時に発生します。glUseProgram ドキュメントによると
program が 0 でも OpenGL によって生成された値でもない場合、GL_INVALID_VALUE が生成されます。
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
}