我构建了一个“后处理管道”,它收集渲染调用并将它们放入纹理中。渲染完所有后处理效果后,我将所有结果放在一起。这是我的问题:
一开始,我用 glClearColor(0,0,0,0) 清除缓冲区。然后我调用绘图调用。当对象具有 0.5 alpha 的纹理时出现。这导致背景颜色和纹理之间的混合。我想避免混合。例如,如果纹理的像素为 0.5、0.5、0.5、0.5,则结果为 0.25、0.25、0.25、0.5,因为透明度为零的黑色背景受到影响。
我使用 glCopyTexImage2D 函数将渲染结果放入纹理中。我阅读了有关使用帧缓冲区的文章,但我想确定是否可以解决使用多个帧缓冲区的问题。
有人对我有建议吗?