Graphics Projects

Shape Synthesis

Sound synthesizers opened up a new way to think about sounds. This system takes those ideas and applies them to making 3D shapes.

Cubism for Computer Graphics

The Cubism art movement explored some wild ways of looking at the world. Here’s a way we can get similar sorts of effects in animated 3D films.

Crop

Crop circles are a wild topic to study. Here’s a cool little language that lets you design new formations, and it prints out instructions for making it some dark night.

Shape Grep

Start with a simple shape. Do shape-based search and replace a few times. The results have both structural harmony and complexity.

Fluorescence & Phosphorescence

Watch hands glow, and black light posters look cool. I’ve developed a computational model of the physics of these phenomena so we can render them.

Device-Directed Rendering

Real devices can only display a limited range of colors. If your image has colors that can’t be shown, it will get distorted. Here’s a way to prevent that.

Pop-up Card Design

Pop-up cards are fun to make and receive, but take a lot of trial and error to design. This interactive program makes the process much easier.

Dynamic Stratification

When rendering a picture with ray tracing, every sample is precious. Here’s a way of getting much more than a point-sample of information from each ray.

Shape Morph

It’s fun to watch a 3D shape transform into another. This technique is simple and fast for convex objects, and smoothly turns concave objects into their convex hulls when needed.

Spectrum

The Spectrum architecture is a very flexible environment in vanilla C for experimenting with modern ray-tracing algorithms.

Lightning and Thunder

Building on existing research, my system lets you direct lightning to go where you want. It also synthesizes the thunder you’d hear from that lightning bolt.

Space Subdivision for
Fast Ray Tracing

Ray tracing is a great way to create images, but it’s notoriously slow. This was one of the first papers to speed things up a lot.

Spacetime Ray Tracing

We can create ray-traced movies quickly by creating four-dimensional data structures, and then tracing ray in spacetime. The results are fast and look great.

Adaptive Precision in
Texture Mapping

Textures are important, and we want them to be both fast and beautiful. This method takes only as long as required to make each pixel look great.

Interpreting Alpha

When compositing images, we sometimes think of alpha as coverage, or as opacity. These are fundamentally different ideas! Here’s why it’s still okay, though.

Globs

A glob is a geometric primitive made of two circles of different radii and a “neck” that smoothly joins them. It’s a versatile shape that’s easy to create and control.