From 616595b11e35b83a502fdfbcb4f929823672467a Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Sun, 19 Oct 2025 01:16:57 +0200 Subject: [PATCH] shark-shaders: Improve rounded-rect sdf a little --- title/shark-shaders/shaders/draw_2d.slang | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/title/shark-shaders/shaders/draw_2d.slang b/title/shark-shaders/shaders/draw_2d.slang index 539b964..3c668dd 100644 --- a/title/shark-shaders/shaders/draw_2d.slang +++ b/title/shark-shaders/shaders/draw_2d.slang @@ -592,8 +592,15 @@ void rasterize(uniform RasterizeConstants constants, uint3 thread_id: SV_Dispatc } let border_color = unpackUnorm4x8ToFloat(cmd_rect.border_color).bgra; - primitive_color = lerp(background_color, border_color, smoothstep(1.0, 0.0, 1.0 - d - border_width)); - primitive_color = lerp(primitive_color, float4(0.0), smoothstep(1.0, 0.0, 1.0 - d)); + + let edge_border = -d; + let alpha_border = clamp(edge_border + 0.5, 0.0, 1.0); + + let edge = -d - border_width; + let alpha = clamp(edge + 0.5, 0.0, 1.0); + + let border = lerp(float4(0.0), border_color, alpha_border); + primitive_color = lerp(border, background_color, alpha); let clip_b = (scissor.offset_max - scissor.offset_min) / 2.0; let clip_p = scissor.offset_min + clip_b - sample_center; -- 2.51.1