“Efficient GPU path rendering using scanline rasterization” by Li, Hou and Zhou – ACM SIGGRAPH HISTORY ARCHIVES

“Efficient GPU path rendering using scanline rasterization” by Li, Hou and Zhou

  • 2016 SA Technical Papers_Li_Efficient GPU Path Rendering Using Scanline Rasterization

Conference:


Type(s):


Title:

    Efficient GPU path rendering using scanline rasterization

Session/Category Title:   High Resolution


Presenter(s)/Author(s):



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.

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. Cross Ref
    17. Manson, J., and Schaefer, S. 2013. Analytic rasterization of curves with polynomial filters. Computer Graphics Forum (Proceedings of Eurographics) 32, 2, 499–507. Cross Ref
    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.


ACM Digital Library Publication:



Overview Page:



Submit a story:

If you would like to submit a story about this presentation, please contact us: historyarchives@siggraph.org