From 51a12193c3fdd63873f494484267214647ba1d99 Mon Sep 17 00:00:00 2001 From: Robin Seger Date: Wed, 25 Mar 2026 22:33:13 +0100 Subject: [PATCH] correction, discard only if owner != myIndex AND mergedSdf > smoothFactor --- plugin/src/Caelestia/Blobs/shaders/blob.frag | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugin/src/Caelestia/Blobs/shaders/blob.frag b/plugin/src/Caelestia/Blobs/shaders/blob.frag index b5fb7b4c..90133563 100644 --- a/plugin/src/Caelestia/Blobs/shaders/blob.frag +++ b/plugin/src/Caelestia/Blobs/shaders/blob.frag @@ -203,7 +203,7 @@ void main() { } mergedSdf = sminNoBulge(mergedSdf, d, smoothFactor); - if (d < smoothFactor && d < minDist) { + if (d < minDist) { minDist = d; owner = i; } @@ -277,10 +277,11 @@ void main() { } } - // Each renderer only outputs pixels it owns + // Each renderer only outputs pixels it owns, but allow rendering + // blend zones to prevent gaps (mergedSdf < smoothFactor means in blend) // myIndex == -1: inverted rect renders border-owned pixels // myIndex >= 0: individual rect renders its owned pixels - if (owner != myIndex) + if (owner != myIndex && mergedSdf > smoothFactor) discard; float fw = fwidth(mergedSdf);