帧缓冲区对象与纹理对象、渲染缓冲区对象的关系图

来源:互联网 发布:玫瑰花数 c语言 编辑:程序博客网 时间:2024/05/21 06:20

为什么我的博客没有评论  啊   哭哭哭哭

 

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

多个纹理对象或多个渲染缓冲区对象,可通过连接点(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可切换渲染缓存对象。


 

原创粉丝点击