The Book of Shaders
by Patricio Gonzalez Vivo and Jen Lowe
This is a gentle stepbystep guide through the abstract and complex universe of Fragment Shaders.
Contents

Getting started

Algorithmic drawing

Generative designs

Image processing
 Textures
 Image operations
 Kernel convolutions
 Filters
 Others effects

Simulation
 Pingpong
 Conway
 Ripples
 Water color
 Reaction diffusion

3D graphics
 Lights
 Normalmaps
 Bumpmaps
 Ray marching
 Environmentalmaps (spherical and cube)
 Reflect and refract

Appendix: Other ways to use this book
About the Authors
Patricio Gonzalez Vivo (1982, Buenos Aires, Argentina) is a New York based artist and developer. He explores interstitial spaces between organic and synthetic, analog and digital, individual and collective. In his work he uses code as an expressive language with the intention of developing a better together.
Patricio studied and practiced psychotherapy and expressive art therapy. He holds an MFA in Design & Technology from Parsons The New School, where he now teaches. Currently he works as a Graphic Engineer at Mapzen making openSource mapping tools.
Jen Lowe is an independent data scientist and data communicator at Datatelling where she brings together people + numbers + words. She teaches in SVA's Design for Social Innovation program, cofounded the School for Poetic Computation, taught Math for Artists at NYU ITP, researched at the Spatial Information Design Lab at Columbia University, and contributed ideas at the White House Office of Science and Technology Policy. She's spoken at SXSW and Eyeo. Her work has been covered by The New York Times and Fast Company. Her research, writing, and speaking explore the promises and implications of data and technology in society. She has a B.S. in Applied Math and a Master's in Information Science. Often oppositional, she's always on the side of love.
Acknowledgements
Thanks Scott Murray for the inspiration and advice.
Thanks Kenichi Yoneda (Kynd), Nicolas Barradeau, Karim Naaji for contributing with support, good ideas and code.
Thanks Kenichi Yoneda (Kynd) and Sawako for the Japanese translation (日本語訳)
Thanks Tong Li and Yi Zhang for the Chinese translation (中文版)
Thanks Jae Hyun Yoo and June Kim for the Korean translation (한국어)
Thanks Nahuel Coppero (Necsoft) for the Spanish translation (español)
Thanks Raphaela Protásio and Lucas Mendonça for the Portuguese translation (portugues)
Thanks Nicolas Barradeau and Karim Naaji for the French translation (français)
Thanks Andrea Rovescalli for the Italian translation (italiano)
Thanks Michael Tischer for the German translation (deutsch)
Thanks Sergey Karchevsky for the Russian translation (russian)
Thanks Andy Stanton for fixing and improving the pdf/epub export pipeline
Thanks to everyone who has believed in this project and contributed with fixes or donations.
Get new chapters
Sign up for the news letter or follow it on Twitter
Enter your email address
LICENSE
Copyright (c) Patricio Gonzalez Vivo, 2015  http://patriciogonzalezvivo.com/ All rights reserved.