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 accelerate the Adobe Graphics Model (AGM) layer responsible for rendering sophisticated Illustrator scenes. Illustrator documents render in either an RGB or CMYK color mode. While GPUs are designed and optimized for RGB rendering, we orchestrate OpenGL rendering of vector content in the proper CMYK color space and accommodate the 5+ color components required. We support both non-isolated and isolated transparency groups, knockout, patterns, and arbitrary path clipping. We harness GPU tessellation to shade paths smoothly with gradient meshes. We do all this and render complex Illustrator scenes 2 to 6x faster than CPU rendering at Full HD resolutions; and 5 to 16x faster at Ultra HD resolutions.

[1]  Dmitry Kirsanov The Book of Inkscape: The Definitive Guide to The Free Graphics Editor , 2009 .

[2]  C. Peng,et al.  SCALABLE VECTOR GRAPHICS (SVG) , 2000 .

[3]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[4]  Ariel Shamir,et al.  Digital micrography , 2011, ACM Trans. Graph..

[5]  Emmett Kilgariff,et al.  Fermi GF100 GPU Architecture , 2011, IEEE Micro.

[6]  KumarHarish,et al.  Accelerating vector graphics rendering using the graphics hardware pipeline , 2015 .

[7]  Diego Nehab,et al.  Massively-parallel vector graphics , 2014, ACM Trans. Graph..

[8]  S. A. Coons SURFACES FOR COMPUTER-AIDED DESIGN OF SPACE FORMS , 1967 .

[9]  Mark Segal,et al.  The OpenGL Graphics System: A Specification , 2004 .

[10]  Stephen Lin,et al.  Diffusion curve textures for resolution independent texture mapping , 2012, ACM Trans. Graph..

[11]  M. Randrianarivony Sufficient and necessary conditions for the regularity of planar Coons maps , 2007 .

[12]  John E. Warnock,et al.  A device independent graphics imaging model for use with raster devices , 1982, SIGGRAPH.

[13]  Adobe Press,et al.  PostScript Language Reference Manual , 1985 .

[14]  Scott Valentine The Hidden Power of Blend Modes in Adobe Photoshop , 2012 .

[15]  Ronald N. Perry,et al.  Designing with distance fields , 2005, International Conference on Shape Modeling and Applications 2005 (SMI' 05).

[16]  Matthias Nießner,et al.  Real‐Time Rendering Techniques with Hardware Tessellation , 2016, Comput. Graph. Forum.

[17]  Matthias Nießner,et al.  State of the Art Report on Real-time Rendering with Hardware Tessellation , 2014, Eurographics.

[18]  Pascal Barla,et al.  Diffusion curves: a vector representation for smooth-shaded images , 2008, ACM Trans. Graph..

[19]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[20]  Cyril Concolato,et al.  Biharmonic diffusion curve images from boundary elements , 2013, ACM Trans. Graph..

[21]  Hugues Hoppe,et al.  Random-access rendering of general vector graphics , 2008, ACM Trans. Graph..

[22]  Steven K. Feiner,et al.  Computer graphics: principles and practice (2nd ed.) , 1990 .

[23]  Jeff Bolz,et al.  GPU-accelerated path rendering , 2012, ACM Trans. Graph..

[24]  Harry Shum,et al.  Image vectorization using optimized gradient meshes , 2007, ACM Trans. Graph..