我试图弄清楚如何在 WebGL 中进行混合模式。到目前为止,我使用的是原生 HTML5 Canvas 绘图功能,您可以使用这些功能,例如:
var ctx = new Document.getElementById('canvas').getContext('2d');
ctx.globalCompositeOperation = 'lighter'
现在,出于性能原因,我正在尝试将其移植到 WebGL。但是,我很难理解如何影响 WebGL 中的混合模式。据我了解,顶点着色器决定哪些不同的纹理/多边形可见,然后为这些纹理/多边形的可见部分的每个像素调用片段着色器。但是,如果我有一个混合模式,比如打火机(它采用底层颜色和新覆盖颜色的每个组件中的较高一个),我会对顶点着色器和片段着色器在这种情况下的作用感到困惑.
更进一步,在我现在使用 WebGL 绘制的 Pixi.js 库中,我相信只有在所有对象都被绘制到帧缓冲区之后才会调用顶点和片段着色器,换句话说:只有在放置所有对象之后。(这个库使用的着色器可以在这里找到)
有人可以解释如何在 WebGL 中正确使用混合模式吗?