Random-access rendering of general vector graphics
Microsoft Research
ACM Transactions on Graphics. Vol. 27, no. 5. Dec. 2008
@article{nehab2008random,
title={Random-access rendering of general vector graphics},
author={Nehab, D. and Hoppe, H.},
journal={ACM Transactions on Graphics (TOG)},
volume={27},
number={5},
pages={1–10},
issn={0730-0301},
year={2008},
publisher={ACM}
}
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.
February 10, 2011 by hgpu