3
因此,我將紋理傳遞給片段着色器,並且我希望在其上覆蓋具有50%alpha的顏色。我有一半的工作,但原來的紋理失去了它的阿爾法。WebGL/three.js片段着色器 - 用alpha透明顏色覆蓋alpha透明紋理
請參見:
uniform sampler2D texture;
varying vec2 vUv;
void main() {
vec4 tColor = texture2D(texture, vUv);
vec4 color = vec4(1.0, 0.0, 0.0, 0.5);
gl_FragColor = vec4(mix(tColor.rgb, color.rgb, color.a), 1.0);
}
很明顯這裏,在gl_FragColor
紋理的alpha不考慮,但我不知道如何整合它。
哦球。這是我想要的:'gl_FragColor = vec4(mix(tColor.rgb,color.rgb,color.a),tColor.a);' – user2994359