gpt4 book ai didi

iphone - Alpha 与 OpenGL ES 2.0 混合?

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

最好的方法是什么?

我尝试使用如下所示的片段着色器天真地做到这一点:

varying lowp vec4 color;
void main()
{
lowp vec4 alpha = colorVarying.wwww;
const lowp vec4 one = vec4(1.0, 1.0, 1.0, 1.0);
lowp vec4 oneMinusAlpha = one-alpha;
gl_FragColor = gl_FragColor*oneMinusAlpha + colorVarying*alpha;
gl_FragColor.w = 1.0;
}

但这不起作用,因为在着色器运行之前,gl_FragColor 似乎不包含任何有意义的内容。

正确的做法是什么?

最佳答案

Alpha 混合已为您完成。在着色器退出时,gl_FragColor 应将 alpha 值保存在 w 组件中,并且您必须使用普通 API 设置混合模式,就像根本没有着色器一样。例如,gl_FragColor = vec4(0,1,0,0.5) 将生成绿色、50% 透明的片段。

关于iphone - Alpha 与 OpenGL ES 2.0 混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793691/

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