Renderman: Distortion Mapper

- Full Credits

I've always been fascinated with manipulating a viewers eye into seeing something that doesn't exist. (Guess I chose the right profession?) In following my interests I chose the challenge of manipulating a texture to create an optical illusion using Renderman's Scripting Language.

Under the guidance of Malcolm Kesson, and with some math assistance from my friend Ali Seiffouri, I was able to produce a fun pinching distortion shader.

Brief Breakdown


Original Pattern vs. Distorted Pattern

The idea behind this shader is that finds the distance of a point and moves relative to the user-defined origin. The user also gets control over an inner and outer radius that affect the distortions density, how extreme the distortion is, and how many "loops" or pinching affectors they want.

Implementation


To develop an atmosphere, I placed my texture on multiple planes and positioned them to emphasize my illusion. As you can see below, combining various versions of the shader can produce a very interesting result, especially when they are complemented with a few additional pieces of geometry.