Shader Journey

Kyle Geske

Kyle Geske

Shader Apprentice

Join me on a shader journey through Patricio Gonzalez Vivo and Jen Lowe's Book of Shaders.

What Are Shaders?

Shaders are instructions for constructing images on a computer.

Shaders are written such that each pixel can be calculated indepently, meaning that video-card GPUs can parallelize the generation of each pixel. This makes shaders incredibly fast, even for complex generated scenes.

GLSL, the OpenGL Shader Language, is based on the C programming language.

Spooky Shader Beauty

Here's a shader by Shader Toy user nimitz that recently blew my mind. This scene is built in 250 lines of GLSL, plus another 120 lines for the sound. Hit play on this shader. It's an animated scene.

Lots to learn before I could attempt to understand this code behind this shader: ray marching, volumeric noise, bump mapping, trig-foo. Heck, just the basics of thinking in parallel in GLSL. :)

Shader Challenge

I'm going to document my learning as I work through each chapter in The Book of Shaders.

The challenge:

  • Write at least one well-commented GLSL shader per chapter.
  • Document my learning side-quests in math and colour theory.
  • Play around with recreating my GLSL shaders as Unreal Engine node-based Materials.

Chapters Complete So Far

So far I've worked my way through chapters 1 through 5: