小编Sim*_*nes的帖子

Alpha与OpenGL ES 2.0混合?

什么是最好的方式?

我尝试使用看起来像这样的片段着色器天真地做到这一点:

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;
}
Run Code Online (Sandbox Code Playgroud)

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

什么是正确的方法?

iphone opengl-es glsl

2
推荐指数
1
解决办法
4656
查看次数

标签 统计

glsl ×1

iphone ×1

opengl-es ×1