An Experiment in Shadertoy

Inigo Quillez is an electrical engineer turned mathematical artist. He is responsible for the self-generating backgrounds in many Pixar movies, and his work is very impressive. Most interesting to me is that he has created a web community around programming in GLSL through the creation of a massive own website; Shadertoy. Clearly, this man is a genius.


GLSL is an open-source programming language for graphics cards. Before its GLSL 2004 release, all shaders had to be programmed in machine code. Today, GLSL code is used extensively in game engines where it competes with Microsoft's Direct3D. Shadertoy implements boilerplate code to enable one to use WebGL, a similarly open-source version of GLSL for the web. If you are familiar with three.js, it is based on WebGL.


With all this in mind, I was inspired to try to program something in Shadertoy. WebGL takes inputs in the form of screen coordinates and returns color and brightness values for that pixel. Concision is important because every line of code runs for every pixel. I find it to be a wonderful way to think about math, because it forces you to visualize any logical errors you make. You can see my attempt here; it is not very impressive, and the quick moments are somewhat distracting, but I am proud of it as a first try. I hope that I can continue to make progress. It is worth the challenge to become a technological artist.