ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://thebookofshaders.com/ |
| Last Crawled | 2026-04-06 08:05:15 (5 hours ago) |
| First Indexed | 2016-05-24 05:01:43 (9 years ago) |
| HTTP Status Code | 200 |
| Meta Title | The Book of Shaders |
| Meta Description | Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders. |
| Meta Canonical | null |
| Boilerpipe Text | by
Patricio Gonzalez Vivo
and
Jen Lowe
This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
Contents
About this book
Getting started
What is a shader?
“Hello world!”
Uniforms
Running your shader
Algorithmic drawing
Shaping functions
Colors
Shapes
Matrices
Patterns
Generative designs
Random
Noise
Cellular noise
Fractional brownian motion
Fractals
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
How can I navigate this book offline?
How to run the examples on a Raspberry Pi?
How to print this book?
How can I collaborate?
An introduction for those coming from JS
by
Nicolas Barradeau
Examples Gallery
Glossary
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
Vu Phuong Hoang
for the Vietnamese
translation (Tiếng Việt)
Thanks
Wojciech Pachowiak
for the Polish
translation (polski)
Thanks
Manoylov Andriy
for the Ukrainian
translation (український переклад)
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
/
Mastodon
/
Discord
LICENSE
Copyright (c) Patricio Gonzalez Vivo, 2015 -
http://patriciogonzalezvivo.com/
All rights reserved. |
| Markdown | [Українська](https://thebookofshaders.com/?lan=ua) - [Bahasa Indonesia](https://thebookofshaders.com/?lan=id) - [Tiếng Việt](https://thebookofshaders.com/?lan=vi) - [日本語](https://thebookofshaders.com/?lan=jp) - [中文版](https://thebookofshaders.com/?lan=ch) - [한국어](https://thebookofshaders.com/?lan=kr) - [Español](https://thebookofshaders.com/?lan=es) - [Portugues](https://thebookofshaders.com/?lan=pt) - [Français](https://thebookofshaders.com/?lan=fr) - [Italiano](https://thebookofshaders.com/?lan=it) - [Deutsch](https://thebookofshaders.com/?lan=de) - [Русский](https://thebookofshaders.com/?lan=ru) - [Polski](https://thebookofshaders.com/?lan=pl) - [English](https://thebookofshaders.com/)
# The Book of Shaders
*by [Patricio Gonzalez Vivo](http://patriciogonzalezvivo.com/) and [Jen Lowe](http://jenlowe.net/)*
This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=B5FSVSHGEATCG)
## Contents
- [About this book](https://thebookofshaders.com/00/)
- Getting started
- [What is a shader?](https://thebookofshaders.com/01/)
- [“Hello world!”](https://thebookofshaders.com/02/)
- [Uniforms](https://thebookofshaders.com/03/)
- [Running your shader](https://thebookofshaders.com/04/)
- Algorithmic drawing
- [Shaping functions](https://thebookofshaders.com/05/)
- [Colors](https://thebookofshaders.com/06/)
- [Shapes](https://thebookofshaders.com/07/)
- [Matrices](https://thebookofshaders.com/08/)
- [Patterns](https://thebookofshaders.com/09/)
- Generative designs
- [Random](https://thebookofshaders.com/10/)
- [Noise](https://thebookofshaders.com/11/)
- [Cellular noise](https://thebookofshaders.com/12/)
- [Fractional brownian motion](https://thebookofshaders.com/13/)
- Fractals
- 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:](https://thebookofshaders.com/appendix/) Other ways to use this book
- [How can I navigate this book offline?](https://thebookofshaders.com/appendix/00/)
- [How to run the examples on a Raspberry Pi?](https://thebookofshaders.com/appendix/01/)
- [How to print this book?](https://thebookofshaders.com/appendix/02/)
- [How can I collaborate?](https://thebookofshaders.com/appendix/03/)
- [An introduction for those coming from JS](https://thebookofshaders.com/appendix/04/) by [Nicolas Barradeau](http://www.barradeau.com/)
- [Examples Gallery](https://thebookofshaders.com/examples/)
- [Glossary](https://thebookofshaders.com/glossary/)
## About the Authors
[Patricio Gonzalez Vivo](http://patriciogonzalezvivo.com/) (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.
[WebSite](http://patriciogonzalezvivo.com/) - [Twitter](https://twitter.com/patriciogv) - [GitHub](https://github.com/patriciogonzalezvivo) - [Vimeo](https://vimeo.com/patriciogv) - [Flickr](https://www.flickr.com/photos/106950246@N06/)
[Jen Lowe](http://jenlowe.net/) 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.
[WebSite](http://jenlowe.net/) - [Twitter](https://twitter.com/datatelling) - [GitHub](https://github.com/datatelling)
## Acknowledgements
Thanks [Scott Murray](http://alignedleft.com/) for the inspiration and advice.
Thanks [Kenichi Yoneda (Kynd)](https://twitter.com/kyndinfo), [Nicolas Barradeau](https://twitter.com/nicoptere), [Karim Naaji](http://karim.naaji.fr/) for contributing with support, good ideas and code.
Thanks [Kenichi Yoneda (Kynd)](https://twitter.com/kyndinfo) and [Sawako](https://twitter.com/sawakohome) for the [Japanese translation (日本語訳)](https://thebookofshaders.com/?lan=jp)
Thanks [Tong Li](https://www.facebook.com/tong.lee.9484) and [Yi Zhang](https://www.facebook.com/archer.zetta?pnref=story) for the [Chinese translation (中文版)](https://thebookofshaders.com/?lan=ch)
Thanks [Jae Hyun Yoo](https://www.facebook.com/fkkcloud) and [June Kim](https://github.com/rlawns324) for the Korean [translation (한국어)](https://thebookofshaders.com/?lan=kr)
Thanks Nahuel Coppero (Necsoft) for the Spanish [translation (español)](https://thebookofshaders.com/?lan=es)
Thanks [Raphaela Protásio](https://github.com/Rawphs) and [Lucas Mendonça](https://github.com/luuchowl) for the Portuguese [translation (portugues)](https://thebookofshaders.com/?lan=pt)
Thanks [Nicolas Barradeau](https://twitter.com/nicoptere) and [Karim Naaji](http://karim.naaji.fr/) for the French [translation (français)](https://thebookofshaders.com/?lan=fr)
Thanks [Andrea Rovescalli](https://www.earove.info/) for the Italian [translation (italiano)](https://thebookofshaders.com/?lan=it)
Thanks [Michael Tischer](http://www.mitinet.de/) for the German [translation (deutsch)](https://thebookofshaders.com/?lan=de)
Thanks [Sergey Karchevsky](https://www.facebook.com/sergey.karchevsky.3) for the Russian [translation (russian)](https://thebookofshaders.com/?lan=ru)
Thanks [Vu Phuong Hoang](https://www.facebook.com/vuphuonghoang88) for the Vietnamese [translation (Tiếng Việt)](https://thebookofshaders.com/?lan=vi)
Thanks [Wojciech Pachowiak](https://github.com/WojtekPachowiak) for the Polish [translation (polski)](https://thebookofshaders.com/?lan=pl)
Thanks [Manoylov Andriy](https://twitter.com/ManoylovAC) for the Ukrainian [translation (український переклад)](https://thebookofshaders.com/?lan=ua)
Thanks [Andy Stanton](https://andy.stanton.is/) for fixing and improving [the pdf/epub export pipeline](https://thebookofshaders.com/appendix/02/)
Thanks to everyone who has believed in this project and [contributed with fixes](https://github.com/patriciogonzalezvivo/thebookofshaders/graphs/contributors) or donations.
## Get new chapters
Sign up for the news letter or follow it on [Twitter](https://twitter.com/bookofshaders) / [Mastodon](https://mastodon.gamedev.place/@bookofshaders) / [Discord](https://thebookofshaders.com/shader.zone)
## LICENSE
Copyright (c) Patricio Gonzalez Vivo, 2015 - <http://patriciogonzalezvivo.com/> All rights reserved.
Copyright 2015 [Patricio Gonzalez Vivo](http://www.patriciogonzalezvivo.com/) |
| Readable Markdown | *by [Patricio Gonzalez Vivo](http://patriciogonzalezvivo.com/) and [Jen Lowe](http://jenlowe.net/)*
This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
## Contents
- [About this book](https://thebookofshaders.com/00/)
- Getting started
- [What is a shader?](https://thebookofshaders.com/01/)
- [“Hello world!”](https://thebookofshaders.com/02/)
- [Uniforms](https://thebookofshaders.com/03/)
- [Running your shader](https://thebookofshaders.com/04/)
- Algorithmic drawing
- [Shaping functions](https://thebookofshaders.com/05/)
- [Colors](https://thebookofshaders.com/06/)
- [Shapes](https://thebookofshaders.com/07/)
- [Matrices](https://thebookofshaders.com/08/)
- [Patterns](https://thebookofshaders.com/09/)
- Generative designs
- [Random](https://thebookofshaders.com/10/)
- [Noise](https://thebookofshaders.com/11/)
- [Cellular noise](https://thebookofshaders.com/12/)
- [Fractional brownian motion](https://thebookofshaders.com/13/)
- Fractals
- 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:](https://thebookofshaders.com/appendix/) Other ways to use this book
- [How can I navigate this book offline?](https://thebookofshaders.com/appendix/00/)
- [How to run the examples on a Raspberry Pi?](https://thebookofshaders.com/appendix/01/)
- [How to print this book?](https://thebookofshaders.com/appendix/02/)
- [How can I collaborate?](https://thebookofshaders.com/appendix/03/)
- [An introduction for those coming from JS](https://thebookofshaders.com/appendix/04/) by [Nicolas Barradeau](http://www.barradeau.com/)
- [Examples Gallery](https://thebookofshaders.com/examples/)
- [Glossary](https://thebookofshaders.com/glossary/)
## About the Authors
[Patricio Gonzalez Vivo](http://patriciogonzalezvivo.com/) (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](http://jenlowe.net/) 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](http://alignedleft.com/) for the inspiration and advice.
Thanks [Kenichi Yoneda (Kynd)](https://twitter.com/kyndinfo), [Nicolas Barradeau](https://twitter.com/nicoptere), [Karim Naaji](http://karim.naaji.fr/) for contributing with support, good ideas and code.
Thanks [Kenichi Yoneda (Kynd)](https://twitter.com/kyndinfo) and [Sawako](https://twitter.com/sawakohome) for the [Japanese translation (日本語訳)](https://thebookofshaders.com/?lan=jp)
Thanks [Tong Li](https://www.facebook.com/tong.lee.9484) and [Yi Zhang](https://www.facebook.com/archer.zetta?pnref=story) for the [Chinese translation (中文版)](https://thebookofshaders.com/?lan=ch)
Thanks [Jae Hyun Yoo](https://www.facebook.com/fkkcloud) and [June Kim](https://github.com/rlawns324) for the Korean [translation (한국어)](https://thebookofshaders.com/?lan=kr)
Thanks Nahuel Coppero (Necsoft) for the Spanish [translation (español)](https://thebookofshaders.com/?lan=es)
Thanks [Raphaela Protásio](https://github.com/Rawphs) and [Lucas Mendonça](https://github.com/luuchowl) for the Portuguese [translation (portugues)](https://thebookofshaders.com/?lan=pt)
Thanks [Nicolas Barradeau](https://twitter.com/nicoptere) and [Karim Naaji](http://karim.naaji.fr/) for the French [translation (français)](https://thebookofshaders.com/?lan=fr)
Thanks [Andrea Rovescalli](https://www.earove.info/) for the Italian [translation (italiano)](https://thebookofshaders.com/?lan=it)
Thanks [Michael Tischer](http://www.mitinet.de/) for the German [translation (deutsch)](https://thebookofshaders.com/?lan=de)
Thanks [Sergey Karchevsky](https://www.facebook.com/sergey.karchevsky.3) for the Russian [translation (russian)](https://thebookofshaders.com/?lan=ru)
Thanks [Vu Phuong Hoang](https://www.facebook.com/vuphuonghoang88) for the Vietnamese [translation (Tiếng Việt)](https://thebookofshaders.com/?lan=vi)
Thanks [Wojciech Pachowiak](https://github.com/WojtekPachowiak) for the Polish [translation (polski)](https://thebookofshaders.com/?lan=pl)
Thanks [Manoylov Andriy](https://twitter.com/ManoylovAC) for the Ukrainian [translation (український переклад)](https://thebookofshaders.com/?lan=ua)
Thanks [Andy Stanton](https://andy.stanton.is/) for fixing and improving [the pdf/epub export pipeline](https://thebookofshaders.com/appendix/02/)
Thanks to everyone who has believed in this project and [contributed with fixes](https://github.com/patriciogonzalezvivo/thebookofshaders/graphs/contributors) or donations.
## Get new chapters
Sign up for the news letter or follow it on [Twitter](https://twitter.com/bookofshaders) / [Mastodon](https://mastodon.gamedev.place/@bookofshaders) / [Discord](https://thebookofshaders.com/shader.zone)
## LICENSE
Copyright (c) Patricio Gonzalez Vivo, 2015 - <http://patriciogonzalezvivo.com/> All rights reserved. |
| Shard | 144 (laksa) |
| Root Hash | 13083744302036701344 |
| Unparsed URL | com,thebookofshaders!/ s443 |