“Accelerating vector graphics rendering using the graphics hardware pipeline” by Batra, Kilgard, Kumar and Lorach
Conference:
Type(s):
Title:
- Accelerating vector graphics rendering using the graphics hardware pipeline
Presenter(s)/Author(s):
Abstract:
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.
References:
1. 61 Solutions Inc., 2013. Mischief | Sketching & Drawing & Painting Software. http://madewithmischief.com/.Google Scholar
2. Adobe Systems. 1985. Postscript Language Reference Manual, 1st ed. Addison-Wesley Longman Publishing Co., Inc. Google ScholarDigital Library
3. Adobe Systems, 2000. Transparency in PDF, Technical Note #5407, May.Google Scholar
4. Adobe Systems. 2008. Document management–Portable document format–Part 1: PDF 1.7. Also published as ISO 32000.Google Scholar
5. Andronikos, N., 2013. What’s so cool about diffusion curves.Google Scholar
6. Bolz, J., 2009. ARB_texture_multisample extension.Google Scholar
7. Bolz, J., 2014. NV_framebuffer_mixed samples extension.Google Scholar
8. Bouton, G. D. 2012. CorelDRAW X6 The Official Guide. McGraw-Hill Osborne Media.Google Scholar
9. Brown, P., 2013. NV_blend_equation_advanced extension.Google Scholar
10. Brown, P., 2014. KHR_blend_equation_advanced extension.Google Scholar
11. Coons, S. A. 1967. Surfaces for Computer-aided Design of Space Forms. Tech. Rep. MIT/LCS/TR-41, MIT, May. Google Scholar
12. Foley, J. D., van Dam, A., Feiner, S. K., and Hughes, J. F. 1990. Computer Graphics: Principles and Practice (2nd Ed.). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarDigital Library
13. Frisken, S. F., and Perry, R. N. 2006. Designing with distance fields. In ACM SIGGRAPH 2006 Courses, ACM, New York, NY, USA, SIGGRAPH ’06, 60–66. Google ScholarDigital Library
14. Ganacim, F., Lima, R. S., de Figueiredo, L. H., and Nehab, D. 2014. Massively-parallel vector graphics. ACM Transactions on Graphics (Proceedings of the ACM SIGGRAPH Asia 2014) 36, 6, 229. Google ScholarDigital Library
15. Gold, M., and Sellers, G., 2012. ARB_copy_image extension.Google Scholar
16. Ilbery, P., Kendall, L., Concolato, C., and McCosker, M. 2013. Biharmonic diffusion curve images from boundary elements. ACM Trans. Graph. 32, 6 (Nov.), 219:1–219:12. Google ScholarDigital Library
17. Khronos Group. 2014. The OpenGL Graphics System: A Specification, Version 4.4 (Compatibility Profile) ed.Google Scholar
18. Kilgard, M. J., and Bolz, J. 2012. GPU-accelerated path rendering. ACM Trans. Graph. 31, 6 (Nov.), 172:1–172:10. Google ScholarDigital Library
19. Kilgard, M., 2012. NV_path_ rendering extension.Google Scholar
20. Kirsanov, D. 2009. The Book of Inkscape: The Definitive Guide to the Free Graphics Editor. No Starch Press. Google ScholarDigital Library
21. Leben, I. 2010. Random Access Rendering of Animated Vector Graphics Using GPU. Master’s thesis, RMIT University, Melbourne, Australia.Google Scholar
22. Maharik, R., Bessmeltsev, M., Sheffer, A., Shamir, A., and Carr, N. 2011. Digital micrography. ACM Trans. Graph. 30, 4 (July), 100:1–100:12. Google ScholarDigital Library
23. 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 ScholarDigital Library
24. Orzan, A., Bousseau, A., Barla, P., Winnemöller, H., Thollot, J., and Salesin, D. 2013. Diffusion curves: A vector representation for smooth-shaded images. Commun. ACM 56, 7 (July), 101–108. Google ScholarDigital Library
25. Randrianarivony, M., and Brunnett, G., 2004. Necessary and sufficient conditions for the regularity of a planar coons map.Google Scholar
26. Schäfer, H., Niessner, M., Keinert, B., Stamminger, M., and Loop, C. 2014. State of the art report on real-time rendering with hardware tessellation.Google Scholar
27. Smith, A. R. 1995. Image Compositing Fundamentals. Tech. Rep. Technical Memo 4, Microsoft, Aug.Google Scholar
28. Sun, J., Liang, L., Wen, F., and Shum, H.-Y. 2007. Image vectorization using optimized gradient meshes. ACM Trans. Graph. 26, 3 (July). Google ScholarDigital Library
29. 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. Google ScholarDigital Library
30. Svg Working Group, 2011. Scalable Vector Graphics (SVG) 1.1 (2nd edition).Google Scholar
31. Svg Working Group, 2011. SVG compositing specification. W3C working draft March 15, 2011.Google Scholar
32. Turner, D., 2007. How freetype’s rasterizer work {sic}, Feb. http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/raster.tx.Google Scholar
33. Valentine, S. 2012. The Hidden Power of Blend Modes in Adobe Photoshop. Adobe Press. Google ScholarDigital Library
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 ScholarDigital Library
35. Wittenbrink, C., Kilgariff, E., and Prabhu, A. 2011. Fermi GF100 GPU architecture. Micro, IEEE 31, 2, 50–59. Google ScholarDigital Library