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