GPU Accelerated Path Rendering
SIGGRAPH Asia
Abstract: For thirty years, resolution-independent 2D standards (e.g. PostScript, SVG) have depended on CPU-based algorithms for the filling and stroking of paths. Advances in graphics hardware have largely ignored accelerating resolution-independent 2D graphics rendered from paths.
We introduce a two-step “Stencil, then Cover” (StC) programming interface. Our GPU-based approach builds upon existing techniques for curve rendering using the stencil buffer, but we explicitly decouple in our programming interface the stencil step to determine a path’s filled or stroked coverage from the subsequent cover step to rasterize conservative geometry intended to test and reset the coverage determinations of the first step while shading color samples within the path. Our goals are completeness, correctness, quality, and performance—yet we go further to unify path rendering with OpenGL’s established 3D and shading pipeline. We have built and productized our approach to accelerate path rendering as an OpenGL extension
Programming NV_path_rendering (PDF) - An Annex to the SIGGRAPH paper GPU-accelerated Path Rendering
Links
-
NV_path_rendering OpenGL extension specification
-
Getting Started with NV_path_rendering technical whitepaper
-
Mixing Path Rendering and 3D technical whitepaper
-
NV_path_rendering FAQ frequently asked questions
-
NVprSDK NVIDIA Path Rendering Software Development Kit (SDK) with example source code
-
NVprDEMOs pre-compiled Windows versions of the NVprSDK examples
Videos
-
SIGGRAPH 2012 Los Angeles GPU-Accelerated 2D and Web Rendering sponsored session
-
YouTube videos
BibTex Entry
@article{KilgardBolz2012, author = {Mark Kilgard and Jeff Bolz}, title = {GPU-accelerated Path Rendering}, journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia 2012)}, year = {2012}, volume = {31}, number = {6}, month = {Nov.}, pages = {to appear}, }