Randy Wilson's Graphics Page
Stochastic Ray Tracer
I wrote a stochastic ray tracer from scratch in C, using jittered
eye, shadow and reflection rays in order to create soft shadows,
soft reflections, and antialiasing. I also derived the formulas
for cone sweeps in order to render the chess scene described below.
![](images/board.small.gif)
Rook ala King
This chess board was rendered using soft shadows, soft reflections,
and mostly cone segments. Three light sources give a variety of shadows
as well as specular highlights.
This image was included in the ACM SIGGRAPH 94 Application Slide Set (slide 69,
Computer Graphics, Vol. 29, No. 1, pp. 40-42).
Fractal Terrains and Ocean Waves
I also experimented with fractal mountains consisting of subdivided
triangles, which are adaptively divided so that the triangles are smaller
than a pixel from the viewpoint. The different-sized triangles are fitted
together seamlessly so there are no gaps. Automatically-generated heirarchical
bounding boxes are used to ray trace the fractal scene efficiently.
I also generated ocean waves for this scene. In order to ray trace the
procedural height field, I used an upper and lower bounding sphere, between
which small steps were taken until the ray went from above to below the wave.
Then a binary search was used to find a more precise entry point.
Unfortuantely I ran out of time before getting nice sunset colors, so I
settled for a heuristic for the sky color.
The following MPEG movie contains the completed scene. It was ray traced
using 30 HP workstations running in parallel in a few hours.
![](images/ice.gif)
Alaskan fly-by (fractal landscape with water).
Morphing
I wrote a morphing program in C, using formulas from the 1992 SIGGRAPH
proceedings.
In a traditional application of the process I morphed the faces of my
graduate advisor and my current department chair (then my instructor).
In a less traditional use of the process, I morphed two
of my appendages:
![](images/hand.gif)
Morphing of Two of my Appendages
Current Interests
Some things I'd still like to do in the areas of computer graphics and vision:
- Find a good formula for sunsets.
- Make the fractal mountains more adaptive, so they can be rendered without
storing any of the individual parts.
- Create procedural planets, with different things happening at different
levels of detail. Include mountains, rivers, clouds, trees, cities,
highways, etc.; make it easy for others to add new features.
- I also am always thinking of ways to make text look cool (blasting
from behind the screen and warping in--that sort of thing).
Go to
Please send e-mail to
randy@axon.cs.byu.edu