是否可以使用使用FBO本身的渲染调用来渲染到FBO?例如,这里有一小段伪代码。
绑定(顶级FBO)
渲染水<-- (生成并使用自己的子fbos)
渲染阴影<-- (生成和使用子fbos)
渲染常规场景等。
解除绑定(顶级FBO)
模糊顶层FBO,bloom,使用顶层FBO生成的纹理将最终场景渲染到四边形。我对像bloom这样的后期处理我的最后一个游戏场景很感兴趣。
发布于 2015-04-18 15:15:11
如果我把你的问题弄对了,你想从不同的渲染结果组成一个最终的场景,对吗?首先,这是完全的possible.You可以保留一个FBO每个效果如果你want.But你的伪代码缺乏效率,会影响performance.No需要在运行时创建子FBO所有的time.It是昂贵的operation.If你是在一个管道与后处理阶段你通常不需要超过2个FBO(屏幕外).Also记住你总是有默认的FBO(前面,后面,左边,右),这是由context.So创建的,你可以渲染你的3D素材到FBO -1,然后使用它的纹理作为FBO-2的源,以应用后处理effects.Then blit结果到默认屏幕FBO。
我不认为创建FBO的理由仍然是连续的,也就是说,你渲染效果之后的效果,这样你就可以再次使用相同的FBO和again.Also,你可以考虑使用多个FBO而不是多个FBO,使用一个FBO的多个渲染缓冲区或纹理附件,然后决定你想要渲染你的东西到其中的哪一个。
https://stackoverflow.com/questions/29696540
复制相似问题