OpenGL Light Scattering:FBO和Framebuffer混合

时间:2015-08-11 16:51:52

标签: opengl framebuffer fbo

我正在尝试使用OpenGL创建Light Scattering效果。 我正在关注tutorial

在某些时候它说:

  

切换到正交投影并将FBO与帧缓冲区混合,激活着色器以生成“上帝之光”效果。

我不明白“将FBO与Framebuffer混合”是什么意思。我寻找这个“混合”,我注意到这是一个OpenGL管道步骤。

我在想我应该使用函数glEnablei(GL_BLEND,fbo),但我不知道应该在哪里调用它。

要绘制网格(场景有一个网格和一个光源),我使用glDrawArrays(GL_TRIANGLES,0,n_of_verteces)。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

呃,你引用的说明写得不必要地混乱。它要求你做的是采用你渲染了你的神射线的纹理(使用FBO)并使用一个完整的视口纹理四边形在主(非FBO)帧缓冲区的顶部绘制它。并且“混合它”的指令要求您启用混合(此后绘制的所有内容将与之前的步骤中绘制的内容混合,包括其他混合内容)并选择适当的混合函数; (GL_ONE,GL_ONE)对于灯光效果来说是显而易见的。