1

遵循OpenGL ES Programming Guide IOSglRenderbufferStorage在设置我的 FBO 时使用的。在指南中它说使用:

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 项目。

4

1 回答 1

0

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

无论如何,对于 colorRenderBuffer,它在 Ray Wenderlich 的网站上显示的方式(如果您在“屏幕上的帧缓冲区”中向下滚动一点,也可以在该 Apple 文档中)网站是这样的:

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

苹果文档似乎已经过时了。

于 2013-01-07T16:50:24.780 回答