Distributed Ray Tracer w/
Ryan Geiss & Vince Scheib
[PAPERS REFERENCED &
many images and animations showing antialiasing, soft
shadows, soft reflection, soft refraction, depth of field,
and motion blur. Here they are:
animation with over 8000 spheres. This rendered for days
on very large servers, but still only finished 7
oversamples, so it is a bit pixelated. Very nice depth of
field and motion blur. Animation designed by Vince.
View the 5.6MB MPEG
View the 2.9MB
A nice animation showing motion blur & depth of field.
Rendertime was about 4 days on my P133. Each frame has 27
oversamples. Animation designed by Vince.
View the 450KB MPEG animation.
View the 690KB QuickTime animation.
Short animation showing a transparent polygonal cup. Nice
refraction & soft shadows. Notice the very faint
shadow from the cup. 30 Oversamples. Animation designed
View the 51KB MPEG animation.
A Huge number of polygons, soft shadows, phong shading,
soft reflections. Just under 50 oversamples. Picture
designed by Ryan.
View the image.
Crazy reflections (Mirrored sphere within mirrored sphere).
100 oversamples. Picture designed by Vince.
View the image.
<-- View a larger version.
Polygons can be shrunken and enlarged to create
interesting effects. Pictures designed by Ryan.
Distributed reflection and refraction. Notice that in the
first picture the left sphere has a blurred reflection
verses the crisp reflection in the right sphere. Pictures
designed by Ryan.
Depth of field. Picture by Vince.
An early render, (without antialiasing) showing
interesting phong on a polygon object. Soft shadows too.
Picture designed by Ryan.
distributed ray tracer* with the following features:
- Depth of Field
- Glossy Reflections
- Keyframed Animation Control
- Polygonal objects
*- A 'distributed
ray tracer' is a ray tracer which oversamples by a linear
factor of n, distributing sampling rays to
obtain a higher quality result.
Tasks determined, goals set, this page generated.
overhauled old ray tracer engine to suit the
design of the distributed ray tracer. (Not
completely done with this yet)
Ryan ported old code for polygonal based objects.
(Not completely done with this yet)
wrangled with incorporating the polygon object
for a while, did some design work on how to set
up data for individual frames. Listened to plenty
of techno. Entered code to distribute the point
sure code is cross platform happy.
rendering of polygons done, WOW that looks
of multiple files built in, automatic reuse of
previous renders makes it snappy fast to preview
and then gradually improve quality without
spending all that re-render time.
of field & antialiasing done.
Keyframe top level design, animation for
materials and observer parameters.
reflections and transparency implemented.
together first animation. 'rotation02'.
rendering the Vertigo animation on 8 Sun Ultra
Sparc II processors.
rendering the Vertigo animation
Made a few
other neato images
working on this project.
tracer Top Level Design - Vince
Blur - Vince
Shadows - Vince
- Depth of
Field - Vince
Transparency - Ryan
Reflections - Ryan
Merging - Ryan
Keyframed Animation Control - Vince
Polygonal objects - Ryan
have a time parameterized description of movement in
space according to keyframes. Sample rays will be
distributed throughout the time dimension. This
relies solely on being able to retrieve position and
other describing characteristics from the animation
module for any specified time parameter.
sampling ray is perturbed slightly so that samples
from various portions of a pixels extruded volume are
- Depth of
eye position (source of sampling ray) is perturbed
slightly to simulate the distortion of a lens camera.
This will cause blurring of all objects nearer or
farther then the center of interest (focal depth).
reflections are distorted by perturbing the reflected
Keyframed Animation Control
attributes at specified time positions are defined
via a text file, the animation module interpolates
attributes between these key time positions and can
return the proper 'scene' at any specified time value.
tracer's most basic object is a sphere, three sided
polygons will also be added to this ray tracer. This
involved reading an input file specifying the
geometry, transforming the location of the geometry,
and calculating intersections with the polygons.
PAPERS REFERENCED & SUMMARIZED
Robert L. Thomas Porter, Loren Carpenter. "Distributed
Proceedings of SIGGRAPH'84. In Computer Graphics
18, 3, pp. 137-145, July 1984.
James. Kenneth Sloan. "Antialiased Ray Tracing by
Adaptive Progressive Refinement".
Proceedings of SIGGRAPH'89. In Computer Graphics
23, 3, pp. 281-285, July 1989.
were both third year undergraduate students in Computer
Science Engineering. (Spring 1999)
copyright 1999 Ryan
Geiss & Vince Scheib