[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] Rasterizer specifics
From: |
Nigel Tao |
Subject: |
Re: [ft] Rasterizer specifics |
Date: |
Thu, 15 Jul 2010 16:54:13 +1000 |
On 15 July 2010 11:04, jmanson <address@hidden> wrote:
> I am in the process of writing a rasterizer of quadratic and cubic splines,
> and am trying to learn what the current state of the art is in drawing
> shapes with anti-aliased spline boundaries. Do you know of any good
> reference papers (preferably academic), or a document that gives an overview
> of the rasterizer used in FreeType?
If I understand correctly, there are two rasterizers in the freetype
codebase. The old one is called raster, the new one is called smooth.
When I ported Freetype to the Go programming language [0], I ported
"smooth", which approximates quadratic and cubic splines by piecewise
linear segments. After linearization, I think it uses the same
rasterization algorithm as the antigrain library. A lisp programmer
wrote a nice explanation of the algorithm at [1]
I'm guessing that the old "raster" rasterizer is similar to libart,
but I haven't really looked at either.
On the cairo graphics library's mailing list, David Turner compared
various rasterizer implementations in 2007 [2].
[0] http://code.google.com/p/freetype-go/
[1] http://projects.tuxee.net/cl-vectors/section-the-cl-aa-algorithm
[2] http://lists.cairographics.org/archives/cairo/2007-July/011092.html