[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