00 | ||
01 | ||
02 | ||
03 | ||
04 | ||
05 | ||
06 | ||
07 | ||
08 | ||
09 | ||
10 | ||
11 | ||
12 | ||
13 | ||
14 | ||
15 | ||
16 | ||
17 | ||
appendix | ||
css | ||
examples | ||
examples_proto | ||
glossary | ||
src | ||
.gitignore | ||
.gitmodules | ||
chap-header.php | ||
edit.html | ||
favicon.gif | ||
footer.php | ||
graph.html | ||
header.php | ||
index.php | ||
LICENSE | ||
makefile | ||
README-ch.md | ||
README-es.md | ||
README-fr.md | ||
README-jp.md | ||
README-kr.md | ||
README.md | ||
thumb.jpg |
The Book of Shaders
This is a gentle step-by-step 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
- Normal-maps
- Bump-maps
- Ray marching
- Environmental-maps (spherical and cube)
- Reflect and refract
-
Appendix: Other ways to use this book
About the Author
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.
Acknowledgements
Thanks to my wife Jen Lowe, for her unconditional support, help and time editing this book.
Thanks Scott Murray for the inspiration and advice.
Thanks Kenichi Yoneda (Kynd) and Sawako for the Japanese translation (日本語訳)
Thanks Tong Li and Yi Zhang for the Chinese translation (中文版)
Thanks Jae Hyun Yoo for the Korean translation (한국어)
Thanks Nahuel Coppero (Necsoft) for the Spanish translation (español)
Thanks Karim Naaji for contributing with support, good ideas and code.
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