FBO

 

  上面这幅图显示了帧缓冲区对象与纹理对象、渲染缓冲区对象的关系。

  多个纹理对象或多个渲染缓冲区对象,可通过连接点(attachment points)连接到帧缓冲区对象上,

  FBO有多个颜色关联:(GL_COLOR_ATTACHMENT0_EXT,..., GL_COLOR_ATTACHMENTn_EXT),

                  一个深度关联(GL_DEPTH_ATTACHMENT_EXT)

                  一个模板关联 (GL_STENCIL_ATTACHMENT_EXT)

  颜色关联的数目最少有一个,最大数目是与实体的显卡相关的,可以GL_MAX_COLOR_ATTACHMENTS_EXT查询得到。

  FBO采用多个颜色关联,这样可以同时将多个颜色缓存渲染(绘制)到多个FBO关联存储区,即“多渲染目标”MRT(multiple render target)。   MRT可用GL_ARB_draw_buffers完成

  注意:FBO本身并没有图像数据存储区,只有多个关联。

    FBO提供了一种高效的切换机制:将前一个帧缓存关联图像从FBO分离,将一个新的可关联帧缓存图像与FBO关联。

  FBO对帧缓存关联图像的切换要比对FBO的切换速度更快。

  glFramebufferTexture2DEXT(),可以进行二维纹理对象的切换,

  glFramebufferRenderbufferEXT可切换渲染缓存对象。

http://zhang-jh04.blog.163.com/blog/static/97487172200961143348765/

原文地址:https://www.cnblogs.com/yaozhongxiao/p/3083013.html