Unpacking procedural shaders

Today I demonstrated for my computer graphics students how I make various things with procedural shaders, like realistic looking marble and dramatic animated clouds. In each case, the key parts of the shader took up only a handful of code.

The fact that rich looking materials could be created in just a few lines of code might have seemed to them like magic. So on one level the experience was very satisfying for everyone.

But on another level it was very unsatisfying. Because there are deeper reasons why these shaders work, and those reasons are very difficult to teach.

Procedural shaders work because of a complex combination of art and math and human perception of physical phenomena. To unpack the full meaning contained within a few lines of code might require weeks of study.

So on some level it was fun to be able to say, “Hey, to make an amazing thing, you just need to do this.” But on another level, I know I wasn’t really able to teach them exactly what “this” is.

Leave a Reply