3
我有一个iPhone OpenGL-ES 1.1项目,呈现简单的3D模型。如果我没有附加深度缓冲区,则所有东西都可以正确渲染(除非没有深度认识)。但是,当我附加深度缓冲区时,所有呈现的都是洋红色屏幕。清晰的颜色未设置为洋红色。它是蓝色的。任何人都知道这里发生了什么。这是我的设置代码=>OpenGL-ES 1.1 iPhone - 深度缓冲区导致洋红色屏幕
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
glGenRenderbuffersOES(1, &colorRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGBA8_OES, screenWidth, screenHeight);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorRenderbuffer);
glGenRenderbuffersOES(1, &depthRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, screenWidth, screenHeight);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);
这给出洋红色屏幕。注释掉最后4行会导致它渲染对象。
这不完全是。它们已初始化,但它们与我绘制的UIView的维度不匹配。谢谢,这让我看到了正确的地方 – 2010-08-11 15:14:49