我是否需要将renderbuffer附加到已经附加纹理的帧缓冲区?

时间:2012-04-15 16:41:48

标签: iphone opengl-es framebuffer

我为屏幕外渲染创建了一个帧缓冲区。 我做了一个没有数据设置的空纹理。 我没有附加颜色渲染缓冲,因为有纹理背衬。

在代码中:

    //Generate framebuffer, hook up renderbuffer.
    glGenFramebuffers(1, &_frameBufferName);
    glBindFramebuffer(GL_FRAMEBUFFER, _frameBufferName);

    //DON'T Attach texture to framebuffer (RGBA).
    //glGenRenderbuffers(1, &_colorRenderBufferName);        
    //glBindRenderbuffer(GL_RENDERBUFFER, _colorRenderBufferName);    

    //glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA4, _layerWidth, _layerHeight);        
    //glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, _colorRenderBufferName);            

    glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, _textureName, 0);
    glClear(GL_COLOR_BUFFER_BIT);

它实际上有效,但xCode探查器总是声称帧缓冲区没有附件。 我需要彩色渲染缓冲吗?