glRenderbufferStorage GL_INVALID_ENUM

时间:2012-11-18 08:51:02

标签: iphone ios opengl-es

关注OpenGL ES Programming Guide IOS我在设置我的FBO时使用glRenderbufferStorage。在指南中说它使用:

glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8, width, height);

在我的代码中(由于GL_RGBA8未定义),我使用

glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8_OES, width, height);

并抛出GL_INVALID_ENUM异常。这是设置FBO的正确方法吗?这是一个OpenGL ES 2.0项目。

1 个答案:

答案 0 :(得分:0)

该文档有点奇怪,我没有按照指南设法让它工作,我也没有那个GL_RGBA8枚举。真的很生气。

无论如何,对于colorRenderBuffer,它在Ray Wenderlich上的显示方式(如果你在“屏幕上的帧缓冲区”中向下滚动一下那个Apple文档也是如此)就像这样:

glGenRenderbuffers(1, &colorRenderBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, colorRenderBuffer);
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:eglLayer];

Apple文档似乎已经过时了。