如何在OpenGL中使用着色器后处理图像?

时间:2011-05-25 07:19:05

标签: opengl shader

着色器无法从帧缓冲区读取数据,它们只能通过渲染管道向前传递数据。但是对于后期处理,需要读取渲染图像。

我将解决此问题如下:1)创建一个视口大小的纹理; 2)正常渲染图像到纹理; 3)将纹理渲染到帧缓冲区,将其传递给后处理着色器。

我做对了吗?是否有更有效的方法进行后处理?

1 个答案:

答案 0 :(得分:5)

这确实是进行后期处理的常用方法!通过绑定第一次传递的FBO渲染到纹理,然后在取消绑定FBO后使用该纹理作为后处理着色器的输入(即返回到默认帧缓冲区)。