Fun With Shaders

Background
The clipped mesh of Lucy is stored in a PLY format, which consists of a series of vertices that define the three-dimensional surface composed of her entire upper-body. During the course of the Digital Michelangelo Project, Szymon Rusinkiewicz and Lucas Pereira constructed a program which could utilize user-provided shader algorithms to color the vertices of a PLY-formatted mesh. Termed PlyShade, this program offered us an opportunity to alter the Angel's appearance by shading an image of the statue and projecting it back onto the physical geometry of the model.


Davis Projector Images Aligned Through Scanalyze
and Rendered Using PlyShade

Wood Marble
Granite Stone

A General Breakdown of the Shading Process
  • Run PlyShade using one of the shaders helpfully provided by Szymon (wood, granite, marble, stone, etc.) and the PLY file of Lucy's upper-body. The newly generated mesh will contain the geometrical information provided from the original PLY file, but an RGB-value will have been assigned to each vertex as well.

  • Open Scanalyze on the newly-created PLY file. Instruct Scanalyze to alter the resolution of the image and modify the camera position to correspond to the characteristics of the appropriate projector.

  • Use Scanalyze's "Export Image As . . ." option to save an RGB-formatted snapshot of the Scanalyze window.

  • Pipe this image to the appropriate projector. As the resolution of the Scanalyze image, computer monitor, and projector should be equal, the image will be mapped exactly onto the Angel's geometry.

Animation Explorations

By utilizing the techniques described at left, we were able to create realistic surfacing illusions by projecting shaded renderings through the Davis and Sony projectors. Furthermore, we experimented with animation techniques by simulating the weathering process of stone. By varying the parameters passed into the stone shading routine, we generated two images. The first image showed very subtle signs of aging, while the deterioration of the surface in the second image was more pronounced. By using Adobe Premiere, we were able to generate a 15-second animation that employed a cross-dissolve transition to gradually fade from the first image into the second. By projecting this image through the Davis Projector, we simulated the aging of the physical model itself. It is important to note that this movie was generated solely for the Davis Projector. While a similar movie could have been created for use through the Sony, synchronizing the two animations would likely have proven difficult.




If we may venture back to Scanalyze, it is interesting to note that by interactively repositing the ambient light source in the Scanalyze window, it is possible to fool the human eye into believing that a light source is changing its location in the room. Using Scanalyze to alter the light source creates an illusion despite our knowledge of the location of the projectors (the only possible sources of light).