Check out the new USENIX Web site. next up previous
Next: Vector Path Operations Up: The Libart Imaging Model Previous: Antialiased Rendering

Outline Stroking

This is the computation of stroke outlines for vector paths. The standard PostScript technique is to render each segment of the stroke separately, using small ``miter joints'' added at each corner. However, this technique is not ideal for antialiased rendering because the resulting number of polygons is large, and the adjoining polygons can produce seams and other artifacts.

Libart creates stroke outlines by computing inner and outer contours around the original vector path, and then performing a boolean union on them. This union operation cleans up any intersections or overlaps of the stroke. The result is a pure vector path that can be efficiently rendered with the usual algorithm. This is faster and visually more precise than rendering each segment of the stroke separately.

The stroking algorithm supports the same line join and cap options as PostScript.



Federico Mena Quintero
2000-05-08