WebGL 1中是否有等同于`blendFunci`的内容?

时间:2018-12-07 11:33:24

标签: three.js webgl shader

我正在研究WebGL 1项目。我需要在自定义片段着色器中使用gl_FragData[0]gl_FragData[1]。如何为gl_FragData[1]设置blendFunction。我认为OpenGL使用glBlendFunci。例如glBlendFunc(1, gl.ONE, gl.ONE)。如何在WebGL中做到这一点?

1 个答案:

答案 0 :(得分:0)

WebGL1中没有 uniform sampler2D t1; uniform sampler2D t2; void main() { gl_FragColor = someOperation(t1, t2); } 等价物。要进行自定义混合,通常的解决方案是将2个纹理放入其中,在着色器中混合它们,然后输出到新纹理

 uniform sampler2D t1;
 uniform sampler2D t2;
 uniform sampler2D t3;
 uniform sampler2D t4;

 void main() {
   gl_FragData[0] = someOperation(t1, t2);
   gl_FragData[1] = someOperation(t3, t4);
 }

要做一件事不只是重复

"Some random string"