CS 348B 1996 Rendering Competition

CS 348B - Computer Graphics: Image Synthesis Techniques
Spring quarter, 1996
Instructor: Marc Levoy
Teaching assistants: Venkat Krishnamurthy

Press here for a general introduction to these rendering competitions.


Amethyst Crystal, by Lucas Pereira and Szymon Rusinkiewicz

Lucas and Szymon won the '96 rendering competition with two scenes that showcased their rendering effects. The first was a simulation of a growing Amethyst crystal. The crystal was modeled as a set of approximately 450 transparent, intersecting polyhedra. Each of these is generated from one of two "blueprints", then scaled, rotated, sheared, and translated randomly. Mechanisms were added to the code to make the distribution of locations and sizes somewhat more aesthetically pleasing than if they were purely random. The color and opacity of the crystal were varied using a 3D Perlin turbulence function. Impurities in the crystal were simulated using random walks through the volume. The scene was then rendered using a combination of conventional ray tracing and volume rendering. The last technique was used to accumulate color and opacity only when a ray intersected the crystal geometry.

Here is a movie of a growing crystal. Here's another one of a completed crystal.


$1.42, by Lucas Pereira and Szymon Rusinkiewicz

The dollar bill and coins use scanned textures to modulate both color and shading. The geometry of the dollar is a rectangular height grid, tesselated with triangles. The height field was modeled as a fractal and smoothed to make it look a little more continuous. Notice that shadows due to the dollar bill are soft; the effect was achieved using a distribution ray tracer that modeled area light sources and penumbrae. Bump maps were used for all the coins. These were created using an interesting artifact of our graphics lab scanner. In the winners' words:

"Our program took advantage of the fact that this scanner has three separate light sources for the three colors, so that there would be a red or green shift in the scanned color of bumps, depending on the tilt of the surface. We started by scanning a coin, rotating it 90 degrees, and scanning it again. Then we used xv to rotate/crop the images so that they were aligned. The first image gave us the information for the horizontal tilt of the normal, and the second image gave us the vertical tilt. Our program would take the difference between red and green in each image, and normalize it so that the average value was 127. It would output a single bumpmap image, where the red component controlled horizontal rotation, and the green component controlled vertical rotation of the normal."


Puzzle, by Kekoa Proudfoot

This image was created using a number of scanned textures, as well as a bump map for the puzzle surface. The bump map was created using a separate program. The cuts in the puzzle were modeled as closely as possible to the real thing instead of being scanned in. The cuts themselves started out as Bezier curves, which were then thinned and modeled to simulate the curvature of the pieces. The image was then inverted to arrive at the bump map used to generate the image. There was some randomness involved, so each piece created was unique.

The cabinet was modelled after a cabinet located in the dining room of Kekoa's apartment - where his puzzle sits at home.


CD, by Torbjørn Norbye

For his final images Tor modeled the thin film interference on the surface of a Compact Disc and modeled its radial reflectance properties as well. In the artists own words:

"For each ray, I consider the path from the eye, through the thin film on the CD, the wavelength shift as the wave reflects off the aluminum and the path to the light source. For the particular path length through the thin film, I consider ALL wavelengths that have an integral number of wavelengths corresponding to this distance. For each such wavelength, I look up its RGB color, and I add these colors together. Note that the number of orders I have to consider depends on the viewing angles, since at grazing angles the distance through the film is much larger and therefore a larger number of wavelengths have multiples corresponding to that distance. Anyway, these color sums give the thin film interference pattern as it would appear on a flat aluminum surface with the thin film on it.

The second thing I have to model is the reflectance of the CD, because the aluminum is NOT a flat surface; it has tracks deflecting the light. I found empirically that the angles at which you see the thin film interference colors are those where the halfway vector is close to the radial vector (a vector going outward radially from the center of the compact disk)."

Tor's images also use texture maps to modulate a variety of effects such as scratches and thumbprints to create a more realistic image. Here is a movie that show how the interference patterns change as the viewer changes position.


Message pad, by Krishna Nayak

The message pad was rendered using a number of textures to modulate different shading attributes of the objects. These ranged from varying the diffuse color (e.g. "MESSAGES" text) and simulating specks of dirt and scratches (bump maps) to modeling residual "cloudiness" from repeated erasings using a noise function to modulate the transparency of a "skin" for the message pad.

In addition, Krishna modeled the adaptation of the eye to the distribution of visible intensities in the image. This reprodces the effect of limited visual dynamic range. Here is a movie that shows a sequence of images all create from a single rendering by image scaling based on a model of human perception.


Tylenol bottle, by Jeff Dicarlo

Jeff's photo-realistic tylenol bottle was created using a number of texture maps. The only texture scanned was the label of the tylenol bottle. All other textures/bumpmaps were created using xpaint and xv and some signal processing.

The rim and top of the cap of the bottle are bumpmaps wrapped around a set of polygons. The bottle contains the tylenol label texture mapped to its surface. The pills were bump mapped using a custom made bumpmap. The parameterization of the surface of each pill was calculated by Jeff's ray tracer.


Prism, by Greg McNutt

Greg's image of an optically complex glass prism received special mention for its realistic modeling of thin-film interference effects. (The prism was modeled after a real prism sitting on his desk). The images also had the distinction of being the most expensive ever computed for the course - 1 teraflop per image: it was computed on a 30-way 250 MHz (Sun) UltraEnterprise system. Since such resources weren't available to all students, we could not consider it for the rendering competition.

The dimensions of the geometry were modeled to be as close to the physical model as possible. Each ray was discretely represented by 30 uniform samples over the visible range of the electromagnetic spectrum. The base of the prism was modeled as a thin film. The interference due to this film is the source of the profusion of color present in both the real and synthetic (raytraced) prism. About 100 levels of reflection/refraction were needed to obtain all the facets displayed in the image. The resulting images looked remarkably close to the real prism. In all the system processed about 5.3 billion rays for an average of around 7000 rays per pixel.

Here is a movie of the prism that shows a number of different viewpoints.


Last update: July 8, 1996
venkat@graphics.stanford.edu