From 098a26e1a9622c25b2c9faf1e8dd5f3f018aa044 Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Tue, 4 Mar 2025 11:00:23 +0100 Subject: [PATCH] [orx-shade-styles] Improve quantization filtering --- .../src/commonMain/kotlin/fills/gradients/GradientBase.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt index d37cc1cd..bbe995ba 100644 --- a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt +++ b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt @@ -94,9 +94,9 @@ open class GradientBase( if (p_quantization != 0) { f *= float(p_quantization); - float seam = ceil(f + 0.5); + float seam = floor(f + 0.5); vec2 d = vec2(dFdx(f), dFdy(f)); - f = (f - seam) / length(d*1.0) + seam; + f = (f - seam) / length(d*2.0) + seam; f = clamp(f, seam-.5, seam+.5); f /= float(p_quantization); } @@ -111,7 +111,7 @@ open class GradientBase( sf = mod(f, 1.0); float seam = ceil(f); vec2 d = vec2(dFdx(f), dFdy(f)); - mf = (f - seam) / length(d) + seam; + mf = (f - seam) / length(d*2.0) + seam; } int i = 0;