In our final images, I contributed the following technical items: bump mapping for the water, color mapping for the sphere of saturn, color and transparency mapping for the rings of saturn, color mapping for the moon. In terms of modeling, I developed the model of Saturn, and I also worked on developing the look of the landscape for the Saturn scene, using Brian's fractal mountain work.
Then I started work on the fractal code. The first task was to build a the triangle mesh. I relied heavily on work done by Perlin for noise functions and Musgrave for multi-dimensional fractal generation. Using a multiplicative cascades (Evertsz and Mandelbrot 1992) of the frequency generated by a single dimension fractal noise generator, I was able to get a routine that I could evaluate at a single point in 3 space and get a amplitude returned. Since the noise functions are fixed at initialization time. Every time a particular point is evaluated it will return the same answer. The routine is more expensive than a single pass of an iterative approach but the speed increase from only having to evaluated it once more than makes up for it. Once I had the amplitude measurement I passed it into a optional filter routine. In the case of the island scene this was a cone filter.
Finally the material generation was accomplished by evaluating the same gradient noise functions (Perlin 1985) evaluated in only one dimension. This was used to offset the height and the result was used to select a material from the input table. When the height fell below the waterline value the value was clamped and the material was set to use the procedural bump map of water that Dawn developed.
Once the ray exits the world space it is evaluated against the atmosphere setting in the input file. The sky is done using the same single dimension fractal routine as the water but applied to the atmosphere instead. In the case of stars the amplitude is used to control the existence and intensity of the points. For clouds the amplitude controls the mix between the cloud color and the sky color. The background water is a similar algorithm but using different colors so they will shade darker and appear to be water. The stars are evaluated on a plane perpendicular to the camera view but that didn't work for the clouds. Instead the clouds had to be evaluated by computing a sloped plane. For example, if Y is considered up then the evaluation for the input to the fractal is 1/Y. This produced the better perspective view of the clouds.
The AVIs were generated by programmatically rotating the camera 360 degrees around the center of the scene and writing out a frame at each degree. They were then combined into a 10fps AVI using the Intel 3.2 Video Codec.