该原创文章首发于微信公众号:字节流动

OpenGL ES 多目标渲染
OpenGL ES 多目标渲染(MRT),即多重渲染目标,是 OpenGL ES 3.0 新特性,它允许应用程序一次渲染到多个缓冲区。
利用 MRT 技术,片段着色器可以输出多个颜色,可以用于保存 RGBA 颜色、 法线、 深度信息或者纹理坐标,每个颜色连接一个颜色缓冲区。
就目前接触的 MRT 技术,在图形图像算法中比较常用,主要用于获取算法中间结果、底图或者 Mask ,也用于多种高级渲染算法中,例如延迟着色和快速环境遮蔽估算。
使用 MRT 技术,一般需要为帧缓冲区对象(FBO)的设置多个颜色附着。FBO(Frame Buffer Object)即帧缓冲区对象,实际上是一个可添加缓冲区的容器,可以为其添加纹理或渲染缓冲区对象(RBO)。

FBO 本身不能用于渲染,只有添加了纹
OpenGL ES 多目标渲染(MRT)是3.0版本的新特性,允许一次渲染到多个缓冲区。本文介绍了如何使用MRT技术,通过FBO设置多个颜色附着,实现将RGBA、法线、深度信息等输出到不同纹理。MRT常用于图形图像算法,如延迟着色和环境遮蔽估算。文中提供了一个示例,演示了如何配置顶点和片段着色器,以及如何进行渲染操作。
订阅专栏 解锁全文
988

被折叠的 条评论
为什么被折叠?



