Shader Programming for Computational Arts and Design - A Comparison between Creative Coding Frameworks

Andrés Felipe Gómez, Andrés Colubri, Jean Pierre Charalambos

Abstract

We describe an Application Program Interface (API) that facilitates the use of GLSL shaders in computational design, interactive arts, and data visualization. This API was first introduced in the version 2.0 of Processing, a programming language and environment widely used for teaching and production in the context of media arts and design, and has been recently completed in the 3.0 release. It aims to incorporate low-level shading programming into code-based design, by integrating traditional models of graphics programming with more expressive approaches afforded by the OpenGL pipeline on modern GPUs. We contrast Processing's shader API with similar interfaces available in other frameworks used in computational arts and design, in order to better understand its advantages and shortcomings.

References

  1. Angel, E. & Shreiner, D. 2012. Introduction to modern OpenGL programming. SIGGRAPH 7812.
  2. Bell, A. 2015. OpenGL in Cinder 0.9.0 [Online]. Available: https://forum.libcinder.org/topic/opengl-incinder-0-9-0.
  3. Brewis, D. 2014. Emerging Environments for Interactive Art Creation. Interactive Multimedia Conference. University of Southampton.
  4. Castro, A. 2014. Of Shader given GLSL variables [Online]. Available: http://forum.openframeworks.cc/ t/ofshader-given-glsl-variables/16567/2
  5. Colubri, A. 2008. HD (in) Processing. International Conference on Advances of Computer Entertainment Technology. Yokohama, Japan.
  6. Colubri, A. & Fry, B. 2012. Introducing Processing 2.0. ACM SIGGRAPH 2012 Talks. Los Angeles, California: ACM.
  7. Glazier, B. 1992. The "best principle": why OpenGL is emerging as the 3D graphics standard. Computer Graphics World, 15, 116.
  8. Gomez, A. F., Charalambos, J. P. & Colubri, A. 2015. ShaderBase: a Processing Tool for Shaders in Computational Arts and Design.
  9. Kanat-Alexander, M., Oram, A. & Hendrickson, M. 2012. Code Simplicity: The Fundamentals of Software.
  10. Karluk, L., Noble, J. & Puig, J. 2013. Introducing Shaders [Online]. Available: http://openframeworks.cc/ tutorials/graphics/shaders.html
  11. Mccarthy, L. p5.js project [Online]. Available: http://p5js.org/
  12. Nguyen, H. & Nakamoto, H. 2008. GPU gems 3, Upper Saddle River, NJ, Addison-Wesley.
  13. OF community 2015. ofBook. Available: http://openframeworks.cc/ofBook/
  14. Orr, G. 2009. Computational thinking through programming and algorithmic art. SIGGRAPH 2009: Talks. New Orleans, Louisiana: ACM.
  15. Palop, B. 2015. Here's Everything Awesome About Processing 3.0 [Online]. The Creators Project blog. Available: http://thecreatorsproject.vice.com/blog/ heres-everything-awesome-about-processing-30
  16. Reas, C. & Fry, B. 2006. Processing: programming for the media arts. AI & Soc, 20, 526-538.
  17. Reas, C. & Fry, B. 2014. Processing: A Programming Handbook for Visual Designers and Artists (2nd Edition), Cambridge.
  18. Rost, R. J. 2009. OpenGL shading language, Upper Saddle River, N.J., Addison-Wesley.
  19. Stylos, J. & Myers, B. A. 2008. The implications of method placement on API learnability. In: Harrold, M. J. & Murphy, G. C. (eds.) SIGSOFT 7808/FSE-16.
  20. Watson, R. B. Improving software API usability through text analysis: A case study. Professional Communication Conference, 2009. IPCC 2009. IEEE International, 19-22 July 2009 2009. 1-7.
  21. Woo, M., Neider, J. & Davis, T. 1997. OpenGL programming guide (2nd ed.): the official guide to learning OpenGL version 1.1, Addison-Wesley Longman Publishing Co., Inc.
Download


Paper Citation


in Harvard Style

Gómez A., Colubri A. and Charalambos J. (2016). Shader Programming for Computational Arts and Design - A Comparison between Creative Coding Frameworks . In Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2016) ISBN 978-989-758-175-5, pages 163-170. DOI: 10.5220/0005678301610168


in Bibtex Style

@conference{grapp16,
author={Andrés Felipe Gómez and Andrés Colubri and Jean Pierre Charalambos},
title={Shader Programming for Computational Arts and Design - A Comparison between Creative Coding Frameworks},
booktitle={Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2016)},
year={2016},
pages={163-170},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005678301610168},
isbn={978-989-758-175-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2016)
TI - Shader Programming for Computational Arts and Design - A Comparison between Creative Coding Frameworks
SN - 978-989-758-175-5
AU - Gómez A.
AU - Colubri A.
AU - Charalambos J.
PY - 2016
SP - 163
EP - 170
DO - 10.5220/0005678301610168