skip to main content
research-article

Efficient GPU path rendering using scanline rasterization

Published: 05 December 2016 Publication History

Abstract

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 boundary. Non-boundary pixels are processed in bulk as horizontal spans like in CPU scanline rasterizers, which saves a significant amount of winding number computation workload. The distinction also allows the majority of our algorithmic steps to focus on boundary fragments only, which leads to highly balanced workload among the GPU threads. In addition, we develop a ray shooting pattern that minimizes the global data dependency when computing winding numbers at anti-aliasing samples. This allows us to shift the majority of winding-number-related workload to the same kernel that consumes its result, which saves a significant amount of GPU memory bandwidth. Experiments show that our method gives a consistent 2.5X speedup over state-of-the-art alternatives for high-quality rendering at Ultra HD resolution, which can increase to more than 30X in extreme cases. We can also get a consistent 10X speedup on animated input.

Supplementary Material

ZIP File (a228-li.zip)
Supplemental file.

References

[1]
Ackland, B. D., and Weste, N. H. 1981. The edge flag algorithm: A fill method for raster scan displays. IEEE Trans. Comput. 30, 1 (Jan.), 41--48.
[2]
Alciatore, D., and Miranda, R. 1995. A winding number and point-in-polygon algorithm. Department of Mechanical Engineering Colorado State University, Fort Collins, CO.
[3]
Batra, V., Kilgard, M. J., Kumar, H., and Lorach, T. 2015. Accelerating vector graphics rendering using the graphics hardware pipeline. ACM Trans. Graph. 34, 4 (July), 146:1--146:15.
[4]
Baxter, S., 2013. Modern GPU. https://nvlabs.github.io/moderngpu/.
[5]
CUDPP Developers, 2014. CUDPP. http://cudpp.github.io/, version 2.2.
[6]
Duff, T. 1989. Polygon scan conversion by exact convolution. In International Conference On Raster Imaging and Digital Typography, 154--168.
[7]
Finch, M., Snyder, J., and Hoppe, H. 2011. Freeform vector graphics with controlled thin-plate splines. ACM Trans. Graph. 30, 6 (Dec.), 166:1--166:10.
[8]
Ganacim, F., Lima, R. S., de Figueiredo, L. H., and Nehab, D. 2014. Massively-parallel vector graphics. ACM Trans. Graph. 33, 6 (Nov.), 229:1--229:14.
[9]
Kallio, K. 2007. Scanline Edge-flag Algorithm for Antialiasing. In Theory and Practice of Computer Graphics, The Eurographics Association, I. S. Lim and D. Duce, Eds.
[10]
Kerr, K. 2009. Introducing Direct2D. MSDN Magzine 3, 4.
[11]
Kilgard, M. J., and Bolz, J. 2012. GPU-accelerated path rendering. ACM Trans. Graph. 31, 6 (Nov.), 172:1--172:10.
[12]
Kilgard, M. J., 2014. NVIDIA path rendering: Accelerating vector graphics for the mobile web. http://www.slideshare.net/Mark_Kilgard/gtc-2014-nvidia-path-rendering.
[13]
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, ACM, New York, NY, USA, SIGGRAPH '06.
[14]
Laine, S., and Karras, T. 2010. Two methods for fast ray-cast ambient occlusion. In Proceedings of the 21st Eurographics Conference on Rendering, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, EGSR'10, 1325--1333.
[15]
Loop, C., and Blinn, J. 2005. Resolution independent curve rendering using programmable graphics hardware. ACM Trans. Graph. 24, 3 (July), 1000--1009.
[16]
Manson, J., and Schaefer, S. 2011. Wavelet rasterization. Computer Graphics Forum (Proceedings of Eurographics) 30, 2, 395--404.
[17]
Manson, J., and Schaefer, S. 2013. Analytic rasterization of curves with polynomial filters. Computer Graphics Forum (Proceedings of Eurographics) 32, 2, 499--507.
[18]
Nehab, D., and Hoppe, H. 2008. Random-access rendering of general vector graphics. ACM Trans. Graph. 27, 5 (Dec.), 135:1--135:10.
[19]
Newman, W. M., and Sproull, R. F. 1979. Principles of interactive computer graphics. McGraw-Hill, Inc.
[20]
Orzan, A., Bousseau, A., Winnemöller, H., Barla, P., Thollot, J., and Salesin, D. 2008. Diffusion curves: A vector representation for smooth-shaded images. ACM Trans. Graph. 27, 3 (Aug.), 92:1--92:8.
[21]
Parilov, E., and Zorin, D. 2008. Real-time rendering of textures with feature curves. ACM Trans. Graph. 27, 1 (Mar.), 3:1--3:15.
[22]
Qin, Z., McCool, M. D., and Kaplan, C. 2008. Precise vector textures for real-time 3d rendering. In Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, ACM, New York, NY, USA, I3D '08, 199--206.
[23]
Segal, M., and Akeley, K., 2003. The OpenGL graphics system: A specification. http://www.opengl.org/documentation/specs/version1.5/glspec15.pdf.
[24]
Sengupta, S., Harris, M., Zhang, Y., and Owens, J. D. 2007. Scan primitives for gpu computing. In Proceedings of the 22Nd ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, GH '07, 97--106.
[25]
Sun, X., Xie, G., Dong, Y., Lin, S., Xu, W., Wang, W., Tong, X., and Guo, B. 2012. Diffusion curve textures for resolution independent texture mapping. ACM Trans. Graph. 31, 4 (July), 74:1--74:9.
[26]
Sun, T., Thamjaroenporn, P., and Zheng, C. 2014. Fast multipole representation of diffusion curves and points. ACM Trans. Graph. 33, 4 (July), 53:1--53:12.
[27]
SVG, 2011. Scalable vector graphics, v. 1.1. W3C, second edition.
[28]
Tiller, W., and Hanson, E. G. 1984. Offsets of two-dimensional profiles. IEEE COMP. GRAPHICS APPLIC. 4, 9, 36--46.
[29]
Wang, L., Zhou, K., Yu, Y., and Guo, B. 2010. Vector solid textures. ACM Trans. Graph. 29, 4 (July), 86:1--86:8.
[30]
Warnock, J., and Wyatt, D. K. 1982. A device independent graphics imaging model for use with raster devices. SIGGRAPH Comput. Graph. 16, 3 (July), 313--319.
[31]
WebKit, 2016. Webkit, open source web browser engine. https://webkit.org/.
[32]
Whitington, J. G. 2015. Two dimensional hidden surface removal with frame-to-frame coherence. In Proceedings of the 31st Spring Conference on Computer Graphics, ACM, New York, NY, USA, SCCG '15, 141--149.
[33]
Wylie, C., Romney, G., Evans, D., and Erdahl, A. 1967. Half-tone perspective drawings by computer. In Proceedings of the November 14-16, 1967, Fall Joint Computer Conference, ACM, New York, NY, USA, AFIPS '67 (Fall), 49--58.

Cited By

View all
  • (2024)A multi-modal context-aware sequence stage validation for human-centric AR assemblyComputers & Industrial Engineering10.1016/j.cie.2024.110355194(110355)Online publication date: Aug-2024
  • (2023)Point cloud part segmentation combined with adaptive sampling and channel attention mechanismThird International Conference on Signal Image Processing and Communication (ICSIPC 2023)10.1117/12.3004761(35)Online publication date: 20-Oct-2023
  • (2023)Dynamic Object Classification of Low-Resolution Point Clouds: An LSTM-Based Ensemble Learning ApproachIEEE Robotics and Automation Letters10.1109/LRA.2023.33248118:12(8255-8262)Online publication date: Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Graphics
ACM Transactions on Graphics  Volume 35, Issue 6
November 2016
1045 pages
ISSN:0730-0301
EISSN:1557-7368
DOI:10.1145/2980179
Issue’s Table of Contents
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: 05 December 2016
Published in TOG Volume 35, Issue 6

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. GPU computing
  2. path rendering
  3. vector graphics

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)59
  • Downloads (Last 6 weeks)3
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A multi-modal context-aware sequence stage validation for human-centric AR assemblyComputers & Industrial Engineering10.1016/j.cie.2024.110355194(110355)Online publication date: Aug-2024
  • (2023)Point cloud part segmentation combined with adaptive sampling and channel attention mechanismThird International Conference on Signal Image Processing and Communication (ICSIPC 2023)10.1117/12.3004761(35)Online publication date: 20-Oct-2023
  • (2023)Dynamic Object Classification of Low-Resolution Point Clouds: An LSTM-Based Ensemble Learning ApproachIEEE Robotics and Automation Letters10.1109/LRA.2023.33248118:12(8255-8262)Online publication date: Dec-2023
  • (2023)Learning 3D Representations from 2D Pre-Trained Models via Image-to-Point Masked Autoencoders2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)10.1109/CVPR52729.2023.02085(21769-21780)Online publication date: Jun-2023
  • (2023)DualVector: Unsupervised Vector Font Synthesis with Dual-Part Representation2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)10.1109/CVPR52729.2023.01364(14193-14202)Online publication date: Jun-2023
  • (2023)RasterisationIntroduction to Computer Graphics10.1007/978-3-031-28135-8_7(211-285)Online publication date: 6-Jun-2023
  • (2022)PDP-NET: Patch-Based Dual-Path Network for Point Cloud Completion2022 IEEE International Conference on Multimedia and Expo (ICME)10.1109/ICME52920.2022.9859918(1-6)Online publication date: 18-Jul-2022
  • (2022)ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)10.1109/CVPR52688.2022.01970(20311-20320)Online publication date: Jun-2022
  • (2022)RasterungGrundlagen der Computergrafik10.1007/978-3-658-36075-7_7(229-309)Online publication date: 13-Sep-2022
  • (2021)An Automatic Method for Tree Species Point Cloud Segmentation Based on Deep LearningJournal of the Indian Society of Remote Sensing10.1007/s12524-021-01358-xOnline publication date: 7-Jun-2021
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media