Random-access rendering of general vector graphics
ACM Trans. Graphics (SIGGRAPH Asia), 27(5), 2008.
GPU rendering of vector art over surfaces using cell-specialized descriptions.
We introduce a novel representation for random-access rendering of antialiased vector graphics on the GPU,
along with efficient encoding and rendering algorithms. The representation supports a broad class of
vector primitives, including multiple layers of semitransparent filled and stroked shapes, with quadratic
outlines and color gradients. Our approach is to create a coarse lattice in which each cell contains a
variable-length encoding of the graphics primitives it overlaps. These cell-specialized encodings are
interpreted at runtime within a pixel shader. Advantages include localized memory access and the ability
to map vector graphics onto arbitrary surfaces, or under arbitrary deformations. Most importantly, we
perform both prefiltering and supersampling within a single pixel shader invocation, achieving
inter-primitive antialiasing at no added memory bandwidth cost. We present an efficient encoding
algorithm, and demonstrate high-quality real-time rendering of complex, real-world examples.
One natural next step is to perform real-time conversion from the vector graphics primitives to the
cell-specialized representation. This might be feasible with the increasing parallelism of the CPU. Also,
it would be great to revisit the antialiasing at shape corners and for thin shapes, to further improve
prefiltering for small primitives like fonts.
Our earlier version of this paper,
Texel programs for random-access antialiased vector graphics (MSR-TR-2007-95),
also describes how a perfect hash data structure can be adapted as an alternative to
the 2D indirection table.
ACM Copyright Notice
Copyright by the Association for Computing Machinery, Inc. Permission to make digital or
hard copies of part or all of this work for personal or classroom use is granted without fee provided that
copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the
full citation on the first page. Copyrights for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to
redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications
Dept, ACM Inc., fax +1 (212) 869-0481, or firstname.lastname@example.org. The definitive version of this paper can be
found at ACM's Digital Library http://www.acm.org/dl/.