small change
|
@ -905,10 +905,11 @@ proc computeCoverages(
|
||||||
windingRule: WindingRule
|
windingRule: WindingRule
|
||||||
) {.inline.} =
|
) {.inline.} =
|
||||||
const
|
const
|
||||||
|
ep = 0.0001 * PI
|
||||||
quality = 5 # Must divide 255 cleanly (1, 3, 5, 15, 17, 51, 85)
|
quality = 5 # Must divide 255 cleanly (1, 3, 5, 15, 17, 51, 85)
|
||||||
sampleCoverage = (255 div quality).uint8
|
sampleCoverage = (255 div quality).uint8
|
||||||
offset = 1 / quality.float32
|
offset = 1 / quality.float32
|
||||||
initialOffset = offset / 2
|
initialOffset = offset / 2 + ep
|
||||||
|
|
||||||
let
|
let
|
||||||
partition =
|
partition =
|
||||||
|
@ -921,9 +922,8 @@ proc computeCoverages(
|
||||||
|
|
||||||
# Do scanlines for this row
|
# Do scanlines for this row
|
||||||
for m in 0 ..< quality:
|
for m in 0 ..< quality:
|
||||||
const ep = 0.0001 * PI
|
|
||||||
let
|
let
|
||||||
yLine = y.float32 + initialOffset + offset * m.float32 + ep
|
yLine = y.float32 + initialOffset + offset * m.float32
|
||||||
scanline = Line(a: vec2(0, yLine), b: vec2(size.x, yLine))
|
scanline = Line(a: vec2(0, yLine), b: vec2(size.x, yLine))
|
||||||
numHits = 0
|
numHits = 0
|
||||||
for (segment, winding) in partitions[partition]:
|
for (segment, winding) in partitions[partition]:
|
||||||
|
|
Before Width: | Height: | Size: 356 KiB After Width: | Height: | Size: 356 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |