3

我正在将引擎从 OpenGL 1.1 转换为 OpenGL 3.2。下面抛出一个 GL_INVALID_ENUM,但我不知道为什么。

我在 glTexImage2D() 之前调用 glGetError() 来清除它。完成后,glGetError() 将返回 GL_INVALID_ENUM。

      glActiveTexture( GL_TEXTURE0 );
      glTexImage2D( GL_PROXY_TEXTURE_2D,   // target
                    0,                     // level
                    4,                     // internalformat
                    32, 32,                // width & height
                    0,                     // border
                    GL_RGBA,               // format
                    GL_UNSIGNED_BYTE,      // type
                    NULL );                // pixels
4

2 回答 2

5

传入一个真实的internalFormat. 我认为纯通道计数方法在某些时候已被弃用。

于 2013-08-30T17:53:12.417 回答
1

您的内部格式“4”似乎不是有效格式。例如,GL_RGBA定义为 0x1908。

于 2013-08-30T17:58:16.543 回答