[cairo] A new OpenGL backend for Cairo
Luca Barbieri
luca at luca-barbieri.com
Fri Jun 12 19:46:46 PDT 2009
Currently it either draws directly to a multisampled destination (if
you set and enable multisampling on the destination surface) or it
uses a temporary framebuffer object with multisample antialiasing or
polygon smoothing, depending on the desired antialiasing quality.
MSAA with a temporary surface is probably relatively slow, and
unfortunately at least some hardware (nVidia G70) implements line and
polygon smoothing in a relatively primitive way.
An option could be to cut traps into "interior"+"left"+"right" pieces
on the CPU or using a vertex program, draw the interior without
antialiasing, and then use fragment programs on edges, testing all
intersection/full-coverage cases and analytically computing coverage
(hopefully with little or no branches).
More information about the cairo
mailing list