skip to main content
research-article

GPU-accelerated path rendering

Published:01 November 2012Publication History
Skip Abstract Section

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.

References

  1. Adobe Systems. 1985. PostScript Language Reference Manual, 1st ed. Addison-Wesley Longman Publishing Co., Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Adobe Systems. 1992. Adobe Type 1 Font Format, 2nd ed. Addison-Wesley Longman Publishing Co., Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Adobe Systems. 1993. Display PostScript System--Introduction: Perspective for Software Developers.Google ScholarGoogle Scholar
  4. Adobe Systems. 2008. Document management--Portable document format--Part 1: PDF 1.7. Also published as ISO 3200.Google ScholarGoogle Scholar
  5. Adobe Systems. 2008. SWF File Format Specification, version 10.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. Bolz, J., 2009. NV texture barrier. http://www.opengl.org/registry/specs/NV/texture_barrier.txt.Google ScholarGoogle Scholar
  8. Cardano, G. 1545. Artis magnae sive de regulis algebraicis, liber unus.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. Farouki, R., and Neff, C. 1990. Algebraic properties of plane offset curves. Computer Aided Geometric Design 7, 101--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. FreeScale, Multimedia Applications Division. 2010. i.MX35 accelerated 2D graphics: Optimizing 2D graphics with OpenVG and i.MX35, application note, doc. # an3975.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kerr, K. 2009. Introducing Direct2D. MSDN Magazine (June).Google ScholarGoogle Scholar
  15. Khronos Group, 2008. OpenVG specification version 1.1.Google ScholarGoogle Scholar
  16. Kilgard, M., 2012. NV_path_rendering. http://www.opengl.org/registry/specs/NV/path_rendering.txt.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Loop, C., and Blinn, J. 2005. Resolution independent curve rendering using programmable graphics hardware. In ACM SIGGRAPH 2005 Papers, SIGGRAPH '05, 1000--1009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. Packard, K., and Worth, C. 2003. A realistic 2D drawing system. A rejected SIGGRAPH 2003 paper submission.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. Qin, Z. 2009. Vector Graphics for Real-time Rendering. PhD thesis. University of Waterloo.Google ScholarGoogle Scholar
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. Salmon, G. 1960. A Treatise on Conic Sections. Chelsea New York (reprint).Google ScholarGoogle Scholar
  32. SVG Working Group, 2011. Scalable Vector Graphics (SVG) 1.1 (2nd edition).Google ScholarGoogle Scholar
  33. SVG Working Group, 2011. SVG compositing specification. W3C working draft March 15, 2011.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GPU-accelerated path rendering

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Graphics
        ACM Transactions on Graphics  Volume 31, Issue 6
        November 2012
        794 pages
        ISSN:0730-0301
        EISSN:1557-7368
        DOI:10.1145/2366145
        Issue’s Table of Contents

        Copyright © 2012 ACM

        Permission to make digital or hard copies of all or part 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 November 2012
        Published in tog Volume 31, Issue 6

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader