Area-coverage antialiasing

ID: area-coverage-antialiasing

Area-coverage antialiasing assigns an edge pixel a value based on the fraction of its footprint covered by a geometric shape. In a simple rasterization model with constant foreground value , constant background value , and a uniformly weighted pixel region , let be the shape. Then
Equivalently, is the average of the shape's indicator function over . This is a spatial average: a partially covered opaque shape can produce an intermediate pixel value without its material being transparent. Filtering the image over a finite region reduces the abrupt changes produced by deciding coverage at one sample point.[ref]
For a worked example, take the unit-square pixel and a white shape covering over a black background. The diagonal divides the square into equal areas, so and the pixel gets half the white value. A single center sample lies exactly on the edge and must choose one side by a convention; a tiny edge movement can flip that binary decision. The covered area instead changes continuously. The arithmetic applies to values proportional to light, before a nonlinear display encoding.
Exact geometric coverage and multiple sample tests are two ways of estimating this average; a finite set of samples can miss a sufficiently thin shape. Uniform footprint averaging also has limits: its abrupt filter boundary does not remove every high-frequency component, so it reduces aliasing without guaranteeing a perfectly band-limited image.[ref]

New to topics? Read the docs here!