我正忙着将一些OpenGL转换为WebGL但无法为WebGL中的OpenGL function gl.BlendFunci(...)
找到解决方法。
我的浏览器控制台只是报告:
gl.blendFunci不是函数
在绘制到多个缓冲区时,我可以使用什么来设置不同的混合函数?
答案 0 :(得分:0)
没有任何版本的WebGL能够为不同的帧缓冲渲染目标设置不同的混合函数。 OpenGL ES直到ES 3.2才提供此功能,桌面GL直到4.0才提供此功能。因此,如果没有能够为每个目标设置不同的混合参数,您可以渲染到多个目标并不出人意料。
答案 1 :(得分:0)
对我来说有用的是WebGL函数gl.blendFuncSeparate(...)
。
尽管它并没有完全符合BlendFunci(...)
的作用,但它仍然适用于我,因为它允许我分别设置rgb和alpha混合功能。 (无论如何,这是我用BlendFunci(...)
做的)
仔细检查这两个文件找到我的答案:
https://github.com/tsherif/webgl2examples/blob/master/oit.html
https://github.com/endavid/webGL-tests/blob/master/OIT/oit.js