1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

[MSDF] Fix outline bleed out at small sizes.

This commit is contained in:
Pāvels Nadtočajevs
2025-08-31 23:35:33 +03:00
parent 825ef2387f
commit f766e401db
3 changed files with 3 additions and 3 deletions

View File

@@ -611,7 +611,7 @@ void main() {
if (outline_thickness > 0.0) {
float cr = clamp(outline_thickness, 0.0, (px_range / 2.0) - 1.0) / px_range;
d = min(d, msdf_sample.a);
float a = clamp((d - 0.5 + cr) * px_size + 0.5, 0.0, 1.0);
float a = clamp((d - 0.5 + cr) * px_size, 0.0, 1.0);
color.a = a * color.a;
} else {
float a = clamp((d - 0.5) * px_size + 0.5, 0.0, 1.0);

View File

@@ -1641,7 +1641,7 @@ void fragment() {)";
if (msdf_outline_size > 0.0) {
float cr = clamp(msdf_outline_size, 0.0, (msdf_pixel_range / 2.0) - 1.0) / msdf_pixel_range;
d = min(d, albedo_tex.a);
albedo_tex.a = clamp((d - 0.5 + cr) * px_size + 0.5, 0.0, 1.0);
albedo_tex.a = clamp((d - 0.5 + cr) * px_size, 0.0, 1.0);
} else {
albedo_tex.a = clamp((d - 0.5) * px_size + 0.5, 0.0, 1.0);
}

View File

@@ -518,7 +518,7 @@ void main() {
if (outline_thickness > 0) {
float cr = clamp(outline_thickness, 0.0, (px_range / 2.0) - 1.0) / px_range;
d = min(d, msdf_sample.a);
float a = clamp((d - 0.5 + cr) * px_size + 0.5, 0.0, 1.0);
float a = clamp((d - 0.5 + cr) * px_size, 0.0, 1.0);
color.a = a * color.a;
} else {
float a = clamp((d - 0.5) * px_size + 0.5, 0.0, 1.0);