Final Project Artifacts for CSE557 Spring 1999

click on images to see more




contest winners

Jeff Hightower and Daniel Lloyd

Ken Yasuhara

Chris Prince and David Ely
123




Ashish Sabharwal
This artifact has 35 hand-made key frames converted to a 15 second movie using Catmull-Rom interpolation. Multiresolution editing was used to handle varying levels of details (prominent in the beginning and near the end). A flight like effect is obtained by varying the number of inbetween-frames between pairs of adjacent key frames.


Vassili Sukharev
Here we see another movie created with the subdivision surface animation system jointly developed with Ashish Sabharwal. Shot by Vassili, this movie stars Ashish early in the morning at work.


Gretta Bartels and Alex Mohr
Our artifact illustrates what we've learned this quarter by combining all of the projects into one rendering. One of our artifacts from the Impressionist project and another of our artifacts from the first ray-tracing project are each texture mapped onto squares. An object from the subdivision surfaces project is rendered in the background. The contributions of our final project, texture mapping of diffuse color and transparency (Gretta) and distribution ray-tracing for reflection and area lighting (Alex) are demonstrated throughout the artifact. The third square contains a colored transparency texture map which allows only colored portions of the gray background to peek through. The fuzzy shadows of all of the objects illustrate the area lighting. The fuzzy reflection of the subdivision surface shows the distribution ray tracing.


Ken Yasuhara
This flower model was automatically generated from a small L-system grammar and consists of cylinders and flattened, stretched spheres.


Matthew Cary
Direct Subdivision Surface Editing


Brian Tjaden
View Dependent Adaptive Level of Detail for Subdivision Surfaces

Using a view-dependent measure for each face of an object, I adaptively subdivide that face. "Back" faces which the viewer cannot see are not subdivided at all. "Silhouette" faces are highly subdivided (up to the user specified maximum level). "Front" faces which more directly face the viewer are subdivided moderately.

The main obstacle which needed to be overcome was subdividing adjacent faces at different levels. A little clever local subdivision resolved this problem; however, this can cause some minor flaws along border faces (faces whose adjacent faces are subdivided at a different level) if care is not taken.

As the artifacts show, image quality does not suffer with adaptive view-dependent subdivision, but there is significant reduction in subdivision computation. The adaptive view-dependent approach requires between 1/2 the number of faces (when the user specified maximum level of subdivision is 1) and 1/10 the number of faces (when the user specified maximum level of subdivision is about 4) compared to the number of faces subdivided in the non-adaptive approach.



Steve Capell
These animations were generated using physical simulation on objects represented as subdivision lattices. Lattices provide internal structure that does not exist for surface representations, thus giving a volumetric feel to the animations. Two kinds of deformation are supported, one in which an object prefers its original shape, like a rubber eraser, and one in which an object simply prefers its original volume, like blueberry jelly


Yung-Yu Chuang
Based on Taubin's signal processing view on surface fairing, I integrate the non-shrinking fairing algorithm into subdivision surface modeler. It can handle hierarchical and smooth deformation constraints as well.


Chris Prince and David Ely
This project extends the subdivision surface renderer. We use view-dependent information to reduce the number of polygons that have to be drawn, while maintaining image quality. The information we consider includes (a) the object's silhouette, (b) the object's curvature, (c) the location of specular highlights, (d) the final screen-size of the polygons, and (e) whether polygons are front- or back-facing.


Jonathan Nowitz
I extended Impressionist to do multiresolution automatic impressionizing. The set of brushes used is parameterizable, as is the amount of Guassian blurring to apply before each coat, the tolerable error between the blurred image and the canvas before a new stroke will be applied, and the size of the "buckets" that are examined to determine whether or not to put a stroke in the bucket. Based on the SIGGRAPH 98 paper, but since Impressionist already has a variety of different strokes and additional features, its a little more flexible (though probably not more realistic in its artifacts).


Mathieu Blanchette
The images were obtained using texture mapping and bump mapping. The two images illustrate different depth of field, with elements out of focus being blurred.


Valentin Razmov

Briefly named "dunes" (although you'll see it as Valentin.bmp) this artifact shows the potential for building non-selfsimilar looking surfaces, which in our world translates to randomly shaped objects like mountains, clouds, fire, water, Brownian motion, climate modeling, etc.

The idea behind this is fractal subdivision - a simple scheme where the for each two points in the mesh, the generated midpoint is protruded noisily with some vector in the 3rd dimension (the "height"). This gives the sense of jaggedness (of peaks), if the protrusion vector is large, or more smooth hills in the case of a smaller protrusion vector. Most often, that protrusion vector is scaled based on a 2D distance (after a projection onto the x-y plane) between the two even points, which originally spawned the odd vertex. That gives a sense of balance in the shapes. Also, for more realistic mountain effects, the protrusion can depend on the "height" - in this case areas of higher altitude will be more jagged, just like peaks normally are, while areas of valley terrain will look smoother.



Jeffrey Hightower and Daniel Lloyd
We implemented a generalized set of preprocessor instructions to allow for motion over a set of frames based on a subdivision curve of predefined control points. Next, we added support in our ray tracer for general texture mapping of surfaces. Lastly, we implemented a physical energy transfer modeller to simulate the kinetic collisions that would occur on a 9-ball break. The modeller also handles friction of collisions and motion and warps the ball rotation matrix to simulate rolling along the table.