From 5c469013c78c8d01d9ef9005109c4ab319b34091 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Thu, 12 Jan 2023 21:07:29 -0800 Subject: [PATCH] Fix even-odd rule This works with winding numbers even larger than 2. --- shader/fine.wgsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shader/fine.wgsl b/shader/fine.wgsl index cd40e18..46f180e 100644 --- a/shader/fine.wgsl +++ b/shader/fine.wgsl @@ -139,8 +139,8 @@ fn fill_path(tile: Tile, xy: vec2, even_odd: bool) -> array 1.0); + let a = area[i]; + area[i] = abs(a - 2.0 * round(0.5 * a)); } } else { // non-zero winding rule