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.
- Adobe Systems. 1985. PostScript Language Reference Manual, 1st ed. Addison-Wesley Longman Publishing Co., Inc. Google ScholarDigital Library
- Adobe Systems. 1992. Adobe Type 1 Font Format, 2nd ed. Addison-Wesley Longman Publishing Co., Inc. Google ScholarDigital Library
- Adobe Systems. 1993. Display PostScript System--Introduction: Perspective for Software Developers.Google Scholar
- Adobe Systems. 2008. Document management--Portable document format--Part 1: PDF 1.7. Also published as ISO 3200.Google Scholar
- Adobe Systems. 2008. SWF File Format Specification, version 10.Google Scholar
- Akeley, K., and Foran, J., 1995. Apparatus and method for controlling storage of display information in a computer system. US Patent 5,394,170.Google Scholar
- Bolz, J., 2009. NV texture barrier. http://www.opengl.org/registry/specs/NV/texture_barrier.txt.Google Scholar
- Cardano, G. 1545. Artis magnae sive de regulis algebraicis, liber unus.Google Scholar
- Fabris, A., Silva, L., and Forrest, A. 1997. An efficient filling algorithm for non-simple closed curves using the point containment paradigm. In Proceedings of X Brazilian Symposium on Computer Graphics and Image Processing, 2--9.Google Scholar
- Farouki, R., and Neff, C. 1990. Algebraic properties of plane offset curves. Computer Aided Geometric Design 7, 101--127. Google ScholarDigital Library
- FreeScale, Multimedia Applications Division. 2010. i.MX35 accelerated 2D graphics: Optimizing 2D graphics with OpenVG and i.MX35, application note, doc. # an3975.Google Scholar
- Gosling, J., Rosenthal, D. S. H., and Arden, M. J. 1989. The NeWS book: an introduction to the network/extensible window system. Springer-Verlag. Google ScholarDigital Library
- Huang, R., and Chae, S.-I. 2006. Implementation of an OpenVG rasterizer with configurable anti-aliasing and multi-window scissoring. In Proceedings of the 6th IEEE International Conference on Computer and Information Technology, IEEE Computer Society, CIT '06, 179. Google ScholarDigital Library
- Kerr, K. 2009. Introducing Direct2D. MSDN Magazine (June).Google Scholar
- Khronos Group, 2008. OpenVG specification version 1.1.Google Scholar
- Kilgard, M., 2012. NV_path_rendering. http://www.opengl.org/registry/specs/NV/path_rendering.txt.Google Scholar
- Kim, Y., and Ahn, Y. 2009. Explicit error bound for quadratic spline approximation of cubic spline. Journal of the Korean Society for Industrial and Applied Mathematics 13, 4, 257--265.Google Scholar
- Kim, D., Cha, K., and Chae, S.-I. 2008. A high-performance OpenVG accelerator with dual-scanline filling rendering. Consumer Electronics, IEEE Transactions on 54, 3 (August), 1303--1311. Google ScholarDigital Library
- Kokojima, Y., Sugita, K., Saito, T., and Takemoto, T. 2006. Resolution independent rendering of deformable vector objects using graphics hardware. In ACM SIGGRAPH 2006 Sketches, SIGGRAPH '06. Google ScholarDigital Library
- Lane, J. M., Magedson, R., and Rarick, M. 1983. An algorithm for filling regions on graphics display devices. ACM Trans. Graph. 2, 3 (July), 192--196. Google ScholarDigital Library
- Loop, C., and Blinn, J. 2005. Resolution independent curve rendering using programmable graphics hardware. In ACM SIGGRAPH 2005 Papers, SIGGRAPH '05, 1000--1009. Google ScholarDigital Library
- Nehab, D., and Hoppe, H. 2008. Random-access rendering of general vector graphics. In ACM SIGGRAPH Asia 2008 papers, SIGGRAPH Asia'08, 135:1--135:10. Google ScholarDigital Library
- Neider, J., Davis, T., and Woo, M. 1993. OpenGL Programming Guide, 1st edition. See "Drawing Filled, Concave Polygons Using the Stencil Buffer", 398--399.Google Scholar
- Nilsson, P., and Reveman, D. 2004. Glitz: hardware accelerated image compositing using OpenGL. In Proceedings of the FREENIX Track: 2004 USENIX Annual Technical Conference, 29--40. Google ScholarDigital Library
- Packard, K., and Worth, C. 2003. A realistic 2D drawing system. A rejected SIGGRAPH 2003 paper submission.Google Scholar
- Packard, K. 2001. Design and implementation of the X Rendering Extension. In Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, USENIX Association, 213--224. Google ScholarDigital Library
- Porter, T., and Duff, T. 1984. Compositing digital images. In Proceedings of the 11th annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '84, 253--259. Google ScholarDigital Library
- Qin, Z. 2009. Vector Graphics for Real-time Rendering. PhD thesis. University of Waterloo.Google Scholar
- Rueda, A. J., Ruiz de Miras, J., and Feito, F. R. 2008. GPU-based rendering of curved polygons using simplicial coverings. Computer Graphics 32, 5 (Oct.), 581--588. Google ScholarDigital Library
- Ruf, E. 2011. An inexpensive bounding representation for offsets of quadratic curves. In Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics, HPG '11, 143--150. Google ScholarDigital Library
- Salmon, G. 1960. A Treatise on Conic Sections. Chelsea New York (reprint).Google Scholar
- SVG Working Group, 2011. Scalable Vector Graphics (SVG) 1.1 (2nd edition).Google Scholar
- SVG Working Group, 2011. SVG compositing specification. W3C working draft March 15, 2011.Google Scholar
- Warnock, J., and Wyatt, D. K. 1982. A device independent graphics imaging model for use with raster devices. In Proceedings of the 9th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '82, 313--319. Google ScholarDigital Library
Index Terms
- GPU-accelerated path rendering
Recommendations
Accelerating vector graphics rendering using the graphics hardware pipeline
We describe our successful initiative to accelerate Adobe Illustrator with the graphics hardware pipeline of modern GPUs. Relying on OpenGL 4.4 plus recent OpenGL extensions for advanced blend modes and first-class GPU-accelerated path rendering, we ...
Efficient GPU path rendering using scanline rasterization
We introduce a novel GPU path rendering method based on scan-line rasterization, which is highly work-efficient but traditionally considered as GPU hostile. Our method is parallelized over boundary fragments, i.e., pixels directly intersecting the path ...
A hybrid GPU rasterized and ray traced rendering pipeline for real time rendering of per pixel effects
ICEC'12: Proceedings of the 11th international conference on Entertainment ComputingRendering in 3D games typically uses rasterization approaches in order to guarantee interactive frame rates, since ray tracing, a superior method for rendering photorealistic images, has greater computational cost. With the advent of massively parallel ...
Comments