Shadershop

Programming today exercises our symbolic reasoning. We write code—a sequence of symbols—in a text editor.

But when we explain ideas to colleagues, we don’t just speak words, we draw diagrams and gesture with our hands. We augment the symbolic channel with a spatial channel.

How can we communicate programs to a computer over a spatial channel?

Shadershop is an interface for programming GPU shaders in the mode of a direct manipulation image editor like Photoshop. It is an experiment in leveraging the programmer’s spatial reasoning the way that coding today leverages the programmer’s symbolic reasoning.

Videos

Part 1. Harmonics

We contrast symbolic and spatial reasoning, introduce shaders, introduce the interface, and add sine waves in a harmonic series.

Part 2. Noise

We build the noise function and sum it in a geometric series to create fractal noise.

Part 3. Higher Dimensions

We introduce the color map to view two-dimensional functions and build fractal noise in two dimensions.

Create

Shadershop runs in the browser. It has been tested in Chrome 39.