W3C home > Mailing lists > Public > www-svg@w3.org > December 2008

Re: Antialiasing and adjacent shapes

From: Robert O'Callahan <robert@ocallahan.org>
Date: Sat, 27 Dec 2008 10:06:58 +1300
Message-ID: <11e306600812261306j4fbd11e3wacd9a74efa2d015d@mail.gmail.com>
To: "Doug Schepers" <schepers@w3.org>
Cc: "Johannes Rössel" <johannes.roessel@uni-rostock.de>, www-svg@w3.org
This is a general problem with rasterizers that use coverage-based
antialiasing. When they render a polygon that partially covers a pixel, they
compute an alpha value for the pixel based on how much of the pixel is
covered. That loses information about which parts of the pixel are covered;
when you have rasterized two polygons that both partially cover the same
pixel, the two alpha values alone are insufficient to determine what the
correct pixel value should be.

The simplest fix is to use some form of "full-screen antialiasing", which is
roughly equivalent to rendering to a higher-resolution surface without
antialiasing and then scaling that down to the screen resolution.
Unfortunately that entails performance and quality tradeoffs that discourage
a lot of implementors from using FSAA.

There are a bunch of tricks you can play with operators and snapping to work
around the problem with coverage-based AA when you have special knowledge
about the scene, but they don't work for general scenes.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]
Received on Friday, 26 December 2008 21:07:35 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:41 GMT