0

次のコードで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
  }
4

1 に答える 1