[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Devel] Smooth rasterizer gives inconsistent results for different fill
From: |
Graham Asher |
Subject: |
[Devel] Smooth rasterizer gives inconsistent results for different fill rules |
Date: |
Mon, 15 Oct 2001 20:04:36 +0100 |
I have recently created by own version of the smooth rasterizer using the
code in ftgrays.c. I have not changed the algorithm in any way at all, so I
*think* that the following comment applies to FreeType2 as well as to my
code, and I'd be grateful for an explanation:
If I create an outline made of a (rough) circle inside another circle, both
clockwise, using conic splines, and rasterize it using even-odd fill, I get
very slightly different weights for some of the pixels, compared to what I
get if I make the inner circle anticlockwise and use the non-zero winding
rule. Specifically, I get weights on the pixels intersecting the inner
circle that are one greater when I use the non-zero winding rule: 0xE4, not
0xE3, for example.
This probably doesn't matter, and it has all the distingishing marks of an
inconsistency in rounding direction, but I would like to know if it is
intentional. I think that a rasterizer that describes itself as 'perfect'
(comment at the top of ftgrays.c: 'A new `perfect' anti-aliasing renderer')
should be at least consistent ;-) In theory the two ways of defining a shape
are equivalent and should yield the same results.
I can provide the data - points and resulting bitmaps - if necessary.
Graham Asher
- [Devel] Smooth rasterizer gives inconsistent results for different fill rules,
Graham Asher <=