diff --git a/fill.fragment.glsl b/fill.fragment.glsl index e8cc2e2..87101ec 100644 --- a/fill.fragment.glsl +++ b/fill.fragment.glsl @@ -1,7 +1,8 @@ precision mediump float; uniform lowp vec4 u_color; +uniform lowp float u_opacity; void main() { - gl_FragColor = u_color; + gl_FragColor = u_color * u_opacity; } diff --git a/line.fragment.glsl b/line.fragment.glsl index 3578f9b..f0ff35b 100644 --- a/line.fragment.glsl +++ b/line.fragment.glsl @@ -2,6 +2,7 @@ precision mediump float; uniform vec2 u_linewidth; uniform lowp vec4 u_color; +uniform lowp float u_opacity; uniform float u_blur; varying vec2 v_normal; @@ -18,5 +19,5 @@ void main() { float blur = u_blur * v_gamma_scale; float alpha = clamp(min(dist - (u_linewidth.t - blur), u_linewidth.s - dist) / blur, 0.0, 1.0); - gl_FragColor = u_color * alpha; + gl_FragColor = u_color * (alpha * u_opacity); } diff --git a/linesdfpattern.fragment.glsl b/linesdfpattern.fragment.glsl index c79cd02..5548d21 100644 --- a/linesdfpattern.fragment.glsl +++ b/linesdfpattern.fragment.glsl @@ -2,6 +2,7 @@ precision mediump float; uniform vec2 u_linewidth; uniform lowp vec4 u_color; +uniform lowp float u_opacity; uniform float u_blur; uniform sampler2D u_image; uniform float u_sdfgamma; @@ -27,5 +28,5 @@ void main() { float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix); alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist); - gl_FragColor = u_color * alpha; + gl_FragColor = u_color * (alpha * u_opacity); } diff --git a/outline.fragment.glsl b/outline.fragment.glsl index f4dec89..344014d 100644 --- a/outline.fragment.glsl +++ b/outline.fragment.glsl @@ -1,11 +1,12 @@ precision mediump float; uniform lowp vec4 u_color; +uniform lowp float u_opacity; varying vec2 v_pos; void main() { float dist = length(v_pos - gl_FragCoord.xy); float alpha = smoothstep(1.0, 0.0, dist); - gl_FragColor = u_color * alpha; + gl_FragColor = u_color * (alpha * u_opacity); } diff --git a/sdf.fragment.glsl b/sdf.fragment.glsl index 43c406d..a9e7e12 100644 --- a/sdf.fragment.glsl +++ b/sdf.fragment.glsl @@ -3,6 +3,7 @@ precision mediump float; uniform sampler2D u_texture; uniform sampler2D u_fadetexture; uniform lowp vec4 u_color; +uniform lowp float u_opacity; uniform lowp float u_buffer; uniform lowp float u_gamma; @@ -15,5 +16,5 @@ void main() { lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a; lowp float gamma = u_gamma * v_gamma_scale; lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha; - gl_FragColor = u_color * alpha; + gl_FragColor = u_color * (alpha * u_opacity); }