我正在将引擎从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
答案 0 :(得分:5)
传递真实internalFormat
。我认为纯通道计数方法在某些时候已被弃用。
答案 1 :(得分:1)
您的内部格式“4”似乎不是有效的格式。例如,GL_RGBA
定义为0x1908。