Massively-Parallel Vector Graphics

Francisco Ganacim     Rodolfo S. Lima     Luiz Henrique de Figueiredo     Diego Nehab


ACM Transactions on Graphics (Proceedinds of ACM SIGGRAPH Asia 2014), 36(6):229

Abstract: We present a massively parallel vector graphics rendering pipeline that is divided into two components. The preprocessing component builds a novel adaptive acceleration data structure, the shortcut tree. Tree construction is efficient and parallel at the segment level, enabling dynamic vector graphics. The tree allows efficient random access to the color of individual samples, so the graphics can be warped for special effects. The rendering component processes all samples and pixels in parallel. It was optimized for wide antialiasing filters and a large number of samples per pixel to generate sharp, noise-free images. Our sample scheduler allows pixels with overlapping antialiasing filters to share samples. It groups together samples that can be computed with the same vector operations using little memory or bandwidth. The pipeline is feature-rich, supporting multiple layers of filled paths, each defined by curved outlines (with linear, rational quadratic, and integral cubic B├ęzier segments), clipped against other paths, and painted with semi-transparent colors, gradients, or textures. We demonstrate renderings of complex vector graphics in state-of-the-art quality and performance. Finally, we provide full source-code for our implementation as well as the input data used in the paper.

Figure 1: Sample vector graphics rendered with our pipeline under a perspective warp.

Boston Hawaii Paris 30k Paris 50k Paris 70k
Paper 1 Paper 2 Reschart Contour Tiger
Car Drops Embrace

Figure 2: Other examples used in our paper. Click for rendering comparisons against other techniques.