From 0b1ea464bb885f46829fa9e7b04e79d67826e84c Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 14 Mar 2026 06:10:20 -0700 Subject: [PATCH] fix(render): premultiply glow sprite color by alpha --- assets/shaders/m2_particle.frag.glsl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/assets/shaders/m2_particle.frag.glsl b/assets/shaders/m2_particle.frag.glsl index f91a3fb7..49fac7e1 100644 --- a/assets/shaders/m2_particle.frag.glsl +++ b/assets/shaders/m2_particle.frag.glsl @@ -25,6 +25,9 @@ void main() { if (lum < 0.05) discard; } - float edge = smoothstep(0.5, 0.4, length(p - 0.5)); - outColor = texColor * vColor * vec4(vec3(1.0), edge); + // Soft circular falloff for point-sprite edges. + float edge = 1.0 - smoothstep(0.4, 0.5, length(p - 0.5)); + float alpha = texColor.a * vColor.a * edge; + vec3 rgb = texColor.rgb * vColor.rgb * alpha; + outColor = vec4(rgb, alpha); }