Previous entrants in the Stanford rendering competition


Expired, by Faisal Bhamani and Bennett S. Wilburn

To model the license plate, Bennett and Faisal wrote a simple program to generate a curved rectangular mesh, which approximated the bend in the original plate. They used a scanned image of the original plate to generate texture, bump, transparency, and specularity maps for the plate. Finally, they applied environment mapping to get more interesting reflections, and area light sources to generate the soft shadows. Note the patterns in the specular term of the two stickers, the crosshatch scratches in the right sticker, and the bump map for the raised white lettering, which extends slightly beyond the paint. Both Bennett and Faisal have lived in Fort Collins.


Tree In Lake and Dewdrop In Leaf,
by Li-Wei He , Jeremy Henrickson , and Eng-Shien Wu

Eng-Shien, Jeremy, and Li-Wei captured second place with their modeling of natural scenes. The tree model was generated by a program they wrote that was based on Eric Haines' SPD code, with some additional randomization. The trunk and branches were modeled as cone segments, while the leaves were modeled as spheres, with texture and trim mapping. The single leaf used texture, bump, transparency, and trim maps to define its appearance. The scenes were initially inspired by the M.C. Escher engravings "Three Worlds" and "Dewdrop".

The lake was bump-mapped. The first picture has a fractal mountain in the background, and two pictures demonstrate depth of field effects. All of the pictures use environment mapping, which can especially be seen in the reflections off the dewdrop.


Amethyst Crystal, by Lucas Pereira and Szymon Rusinkiewicz

This rendering is 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.


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.


Desk Toy, by Greg Abbas

This image was generated by a C++ program using stochastic sampling to compute depth-of-field, motion blur, and anti-aliasing effects. The sampling process is adaptive, using the sample variance as a criterion for whether to sample further. I also wrote a tool to allow "manual adaptive sampling," where the user can use the mouse to indicate parts of the image to focus on. The marble and wall textures both use a function that sums up a sequence of random waves, but the marble uses this sum to compute a diffuse color map, whereas the wall uses it as a bump map. The wall's texture is hard to see, though, because it's so out-of-focus. The plaid texture is hand-coded from an L. L. Bean catalog. Also, I had the help of a sampling process that could quickly render rough drafts of a scene by sampling a small fraction of the pixels.

Lipton Bottle, by Maneesh Agrawala and Apostolos Lerios

The red Lipton label and the ``REFRIGERATE AFTER OPENING'' label are scanned textures used to modify the color of the surfaces on which they are mapped. The Lipton engraving and the scratches on the glass, as well as the uneven thickness of the glass are simulated using superimposed bump maps. The glass thickness is modeled with a procedurally generated bump map, while the other textures are scanned. The effect of the two-sided label was achieved by placing two labels, one inside and one outside the bottle; the internal one is a washed out and reversed version of the outer one.


Credit Card, by James Davis

This credit card was created using a series of masks to control different aspects of the surface. The color was captured with an image scanner, and masks were used to indicate the metallic regions as well as the surface scratches. Different shading models were used to simulate the appearance of metal and plastic. The raised lettering was done using a bump map.
Note: The card number is fictitious, you needn't worry about its exposure.


Swimming Pool, by Brian Lent and Dimitrios Mavroidis

This scene was rendered by tracing light rays forward from the light source through the rippled surface of the water to deposit light on the surfaces in the scene. Standard (backwards) ray-tracing was then used for the final rendering. The caustics thus created can be scene in the patterns of light on the bottom of the pool and the distorted shadow of the diving board.


Shuttle Balls by Eric Bosco and Deepa Francis

The metal balls sit atop a surface texture-mapped with a slide strip of a shuttle take-off (a tiff image obtained from the Internet). Notice that the ball on the left is perfectly reflective, while the other has an abraded appearance. They achieved this effect by casting multiple rays off of the surface of the ball in directions close to the angle of perfect reflection. The average result of these rays is a blurring of the reflected image.


Chess Set by Robert Tobler

Robert modeled this scene using his own CSG (Constructive Solid Geometry) modeler. Note the translucency and refractiveness of the chess pieces as well as the reflectiveness of the metallic squares on the chessboard.