“Massively-parallel vector graphics” by Ganacim, Lima, Figueiredo and Nehab – ACM SIGGRAPH HISTORY ARCHIVES

“Massively-parallel vector graphics” by Ganacim, Lima, Figueiredo and Nehab

  • 2014 SA Technical Papers Ganacim_Massively-Parallel Vector Graphics

Conference:


Type(s):


Title:

    Massively-parallel vector graphics

Session/Category Title:   Vectors and Shaders


Presenter(s)/Author(s):



Abstract:


    We present a massively parallel vector graphics rendering pipeline that is divided into two components. The preprocessing component builds a novel adaptive acceleration data structure, the shortcut tree. Tree construction is efficient and parallel at the segment level, enabling dynamic vector graphics. The tree allows efficient random access to the color of individual samples, so the graphics can be warped for special effects. The rendering component processes all samples and pixels in parallel. It was optimized for wide antialiasing filters and a large number of samples per pixel to generate sharp, noise-free images. Our sample scheduler allows pixels with overlapping antialiasing filters to share samples. It groups together samples that can be computed with the same vector operations using little memory or bandwidth. The pipeline is feature-rich, supporting multiple layers of filled paths, each defined by curved outlines (with linear, rational quadratic, and integral cubic Bézier segments), clipped against other paths, and painted with semi-transparent colors, gradients, or textures. We demonstrate renderings of complex vector graphics in state-of-the-art quality and performance. Finally, we provide full source-code for our implementation as well as the input data used in the paper.

References:


    1. Balzer, M., Schlomer, T., and Deussen, O. 2009. Capacity-constrained point distributions: A variant of Lloyd’s method. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2009), 28(3):86.
    2. Betrisey, C., Blinn, J. F., Dresevic, B., Hill, B., Hitchcock, G., Keely, B., Mitchell, D. P., Platt, J. C., and Whitted, T. 2000. 20.4: Displaced filtering for patterned displays. Society for Information Display Symposium Digest of Technical Papers, 31(1):296–299.Cross Ref
    3. Blinn, J. F. 2005. How to solve a quadratic equation. IEEE Computer Graphics and Applications, 25(6):76–79.
    4. Catmull, E. 1978. A hidden-surface algorithm with anti-aliasing. Computer Graphics (Proceedings of ACM SIGGRAPH 1978), 12 (3):6–11.
    5. Catmull, E. 1984. An analytic visible surface algorithm for independent pixel processing. Computer Graphics (Proceedings of ACM SIGGRAPH 1984), 18(3):109–115.
    6. Catmull, E. and Rom, R. 1974. A class of local interpolating splines. In R. Barnhill and R. Riesenfeld, editors, Computer Aided Geometric Design, Academic Press, 317–326.
    7. Duff, T. 1989. Polygon scan conversion by exact convolution. In J. André and R. D. Hersch, editors, Raster Imaging and Digital Typography, Cambridge University Press, 154–168.
    8. Finch, M., Snyder, J., and Hoppe, H. 2011. Freeform vector graphics with controlled thin-plate splines. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2011), 30(6): 166.
    9. Frisken, S. F., Perry, R. N., Rockwood, A. P., and Jones, T. R. 2000. Adaptively sampled distance fields: A general representation of shape for computer graphics. In Proceedings of ACM SIGGRAPH 2000, 249–254.
    10. Guenter, B. and Tumblin, J. 1996. Quadrature prefiltering for high quality antialiasing. ACM Transactions on Graphics, 15(4): 332–353.
    11. Haines, E. 1994. Point in polygon strategies. In P. S. Heckbert, editor, Graphics Gems IV. Morgan Kaufmann.
    12. Kerr, K. 2009. Introducing Direct2D. MSDN Magazine.
    13. Kilgard, M. 1997. A simple OpenGL-based API for texture mapped text. Silicon Graphics. ftp://ftp.sgi.com/opengl/contrib/mjk/tips/TexFont/TexFont.html.
    14. Kilgard, M. J. and Bolz, J. 2012. GPU-accelerated path rendering. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2012), 31(6):172.
    15. Kokojima, Y., Sugita, K., Saito, T., and Takemoto, T. 2006. Resolution independent rendering of deformable vector objects using graphics hardware. ACM SIGGRAPH Sketches.
    16. Lefebvre, S. and Hoppe, H. 2006. Perfect spatial hashing. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2006), 25(3):579–588.
    17. Lin, Z., Chen, H.-T., Shum, H.-Y., and Wang, J. 2005. Prefiltering two-dimensional polygons without clipping. Journal of graphics, GPU, and game tools, 10(1):17–26.Cross Ref
    18. Loop, C. and Blinn, J. F. 2005. Resolution independent curve rendering using programmable graphics hardware. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2005), 24 (3):1000–1009.
    19. Manson, J. and Schaefer, S. 2011. Wavelet rasterization. Computer Graphics Forum (Proceedings of Eurographics), 30(2): 395–404.Cross Ref
    20. Manson, J. and Schaefer, S. 2013. Analytic rasterization of curves with polynomial filters. Computer Graphics Forum (Proceedings of Eurographics), 32(2pt4):499–507.
    21. McCool, M. D. 1995. Analytic antialiasing with prism splines. In Proceedings of ACM SIGGRAPH 1995, 429–436.
    22. Mitchell, D. P. and Netravali, A. N. 1988. Reconstruction filters in computer graphics. Computer Graphics (Proceedings of ACM SIGGRAPH 1988), 22(4):221–228.
    23. Nehab, D. and Hoppe, H. 2008. Random-access rendering of general vector graphics. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2008), 27(5):135.
    24. Nehab, D. and Hoppe, H. 2014. A fresh look at generalized sampling. Foundations and Trends in Computer Graphics and Vision, 8(1):1–84.
    25. Nehab, D., Maximo, A., Lima, R. S., and Hoppe, H. 2011. GPU-efficient recursive filtering and summed-area tables. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2011), 30(6):176.
    26. Neider, J., Davis, T., and Woo, M. 1993. OpenGL Programming Guide, Release 1. Addison Wesley. “Drawing Filled, Concave Polygons Using the Stencil Buffer”.
    27. NV_path_rendering. 2011. OpenGL extension specification for NV_path_rendering. NVIDIA Corporation.
    28. OpenVG. 2008. OpenVG Specification, v. 1.1. Khronos Group.
    29. OpenXPS. 2009. Open XML Paper Specification. Ecma International, first edition. ECMA-388.
    30. 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 Transactions on Graphics (Proceedings of ACM SIGGRAPH 2008), 27(3):92.
    31. Parilov, E. and Zorin, D. 2008. Real-time rendering of textures with feature curves. ACM Transactions on Graphics, 27(1):3.
    32. PDF. 2006. Adobe Portable Document Format, v. 1.7. Adobe Systems Incorporated, sixth edition.
    33. Porter, T. and Duff, T. 1984. Compositing digital images. Computer Graphics (Proceedings of ACM SIGGRAPH 1984), 18(3):253–259.
    34. PostScript. 1999. PostScript Language Reference. Adobe Systems Incorporated, third edition.
    35. Qin, Z., McCool, M., and Kaplan, C. 2006. Real-time texture-mapped vector glyphs. In Proceedings of Symposium on Interactive 3D Graphics and Games (I3D), 125–132.
    36. Qin, Z., McCool, M., and Kaplan, C. 2008. Precise vector textures for real-time 3D rendering. In Proceedings of Symposium on Interactive 3D Graphics and Games (I3D), 199–206.
    37. Ramanarayanan, G., Bala, K., and Walter, B. 2004. Feature-based textures. In 15th Eurographics Symposium on Rendering, 265–274.
    38. Ramshaw, L. 1988. Béziers and B-splines as multiaffine maps. In Theoretical Foundations of Computer Graphics and CAD, volume 40 of NATO ASI Series, 757–776. Springer Berlin Heidelberg.
    39. Ray, N., Cavin, X., and Lévy, B. 2005. Vector texture maps on the GPU. Technical Report ALICE-TR-05-003, INRIA.
    40. Rougier, N. P. 2013. Higher quality 2D text rendering. Journal of Computer Graphics Techniques, 2(1):50–64.
    41. Salmon, G. 1852. A Treatise on the Higher Order Plane Curves. Hodges & Smith.
    42. Sen, P. 2004. Silhouette maps for improved texture magnification. In Graphics Hardware, 65–73.
    43. Sen, P., Cammarano, M., and Hanrahan, P. 2003. Shadow silhouette maps. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2003), 22(3):521–526.
    44. Sun, T., Thamjaroenporn, P., and Zheng, C. 2014. Fast multipole representation of diffusion curves and points. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2014), 33(4):53.
    45. 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 Transactions on Graphics (Proceedings of ACM SIGGRAPH 2012), 31(4):74.
    46. SVG. 2011. Scalable Vector Graphics, v. 1.1. W3C, second edition.
    47. SWF. 2012. SWF File Format Specification, v. 19. Adobe Systems Incorporated.
    48. Unser, M., Aldroubi, A., and Eden, M. 1991. Fast B-spline transforms for continuous image representation and interpolation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(3):277–285.
    49. Vatti, B. R. 1992. A generic solution to polygon clipping. Communications of the ACM, 35(7):56–63.
    50. Wallace, B. A. 1981. Merging and transformation of raster images for cartoon animation. Computer Graphics (Proceedings of ACM SIGGRAPH 1981), 15(3):253–262.
    51. Warnock, J. 1969. A hidden surface algorithm for computer generated halftone pictures. PhD thesis, University of Utah.
    52. Warnock, J. and Wyatt, D. K. 1982. A device independent graphics imaging model for use with raster devices. Computer Graphics (Proceedings of ACM SIGGRAPH 1982), 16(3):313–319.
    53. Wylie, C., Romney, G. Evans, D., and Erdahl, A. 1967. Half-tone perspective drawings by computer. In Proceedings Fall Joint Computer Conference, 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