gpt4 book ai didi

opengl-es - OpenGL 混合将黑色呈现为灰色?

转载 作者:行者123 更新时间:2023-12-03 20:00:00 26 4
gpt4 key购买 nike

我在 webGL 工作。我对 OpenGL 很陌生。混合功能有问题。我的选择如下:

gl.enable(gl.BLEND)
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)

我渲染了一个带有颜色的源矩形 [0,0,0,0.5]在带有颜色的目标背景之上 [0,0,0,1] .根据我阅读的所有内容,我希望结果是黑色的。相反,它看起来大约有 25% 是白色的。这是我渲染时得到的结果 red and black rectangles with alpha values ranging from 0.0 to 1.0 .

View live demo and source here .我是否误解了混合功能,如果是这样,我如何得到我的期望?谢谢!

最佳答案

您应该为 alpha 指定单独的函数:

gl.enable(gl.BLEND);
gl.blendEquation(gl.FUNC_ADD);
gl.blendFuncSeparate(
gl.SRC_ALPHA,
gl.ONE_MINUS_SRC_ALPHA,
gl.ONE,
gl.ONE_MINUS_SRC_ALPHA
);

关于opengl-es - OpenGL 混合将黑色呈现为灰色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17763021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com