1
我需要为FBO绘制几个“半透明”的图层(用于以后的回读)。使用Alpha到FBO渲染图层的位图
我目前的做法是创建一个FBO,附加一个纹理,并使用glTexSubImage2D来“绘制”位图到FBO,但是,这不起作用,因为glTexSubImage2D不绘制/混合像素,但只是覆盖纹理中当前的像素。
这样做的最好方法是什么?
我需要为FBO绘制几个“半透明”的图层(用于以后的回读)。使用Alpha到FBO渲染图层的位图
我目前的做法是创建一个FBO,附加一个纹理,并使用glTexSubImage2D来“绘制”位图到FBO,但是,这不起作用,因为glTexSubImage2D不绘制/混合像素,但只是覆盖纹理中当前的像素。
这样做的最好方法是什么?
GL_BLEND
。最终的结果是是R握着你的混合位图。您现在可以将其读回或用于其他纹理操作。
谢谢,这个工程。最后一个问题:我的图层可能具有不同的大小(因此glTextSubImage2D),这意味着在T中可能会有前一层的剩余物。确保每层图层之间有空的纹理的最佳方法是什么? – monoceres
如果纹理大小变化:或者每次创建一个新的纹理,或者调整四边形和纹理坐标,以便它们仅绘制和从FBO /纹理的相关部分进行取样/取样。 – ybungalobill
解决了它:) – monoceres