我已经制作了具有类似 Vulkan 接口的 WebGL2 渲染器供私人使用。
在 Vulkan 中,当我在帧缓冲区中有多个颜色附件时,我可以在创建图形管道时为每个颜色附件选择 BlendFunc。 片段着色器可能如下所示
layout (location = 0) out vec3 outDiffuse;
layout (location = 1) out vec3 outNormal;
void main()
{
outDifuse = ...;
outNormal = ...;
}
我可以在 WebGL2 中做同样的事情吗?
我发现 OpenGL4 中的 glBlendFunci 可以指定绘制缓冲区索引。但不适用于 WebGL2(我假设是 ES3.0)
如果 WebGL2 不为此提供功能,我将放弃并有限地实施它,就像只使用带有警告日志的第一个 BlendFunc。