关注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项目。
答案 0 :(得分:0)
该文档有点奇怪,我没有按照指南设法让它工作,我也没有那个GL_RGBA8枚举。真的很生气。
无论如何,对于colorRenderBuffer,它在Ray Wenderlich上的显示方式(如果你在“屏幕上的帧缓冲区”中向下滚动一下那个Apple文档也是如此)就像这样:
glGenRenderbuffers(1, &colorRenderBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, colorRenderBuffer);
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:eglLayer];
Apple文档似乎已经过时了。