Saturday, February 24, 2007

Ray Tracing - Project 5

Design Choices

The three new material models were a dielectric, a phong, and a metal. All three shared specular properties so code was shared somewhat between them. All materials extended from a general material class which made used of extensive virtual functions to minimize the code base.

Required Image



Code:project5.tar

Tuesday, February 06, 2007

Ray Tracing - Project 3

Design Choices

This assignment added implementation of several primitives including the box, disk, ring, and triangle. The Moller intersection was used to intersect the triangles, as it was the easiest to implement. Amy Miller's implementation was used to implement the box intersection. The new primitives were rendered using existing shaders and the normals were obvious to compute.

This is the default scene for Project 3 using the updated rendering


Creative Image

This scene uses two lights: a directional light and a point light. It features 200 triangles, 60 spheres in a double-helix, a box, and a plane


About this project

Time Required: 5 hours
Difficulty: Easy. Mostly just implementing intersection algorithms
Code: project3.tar

Thursday, February 01, 2007

Ray Tracing - Project 2

Design Choices

Building on the previous assignment, the renderer adds Lambertian shading and two-sided lighting. The material also casts shadow rays through the image, to give a simulated shadow effect. A base object class holds basic properties for subclasses to implement, which include a sphere and a plane. Another base class is for a material, which gives some basic functionality for coloring depending on the vector.

This is the default scene for Project 2 using the updated rendering


This is the same scene rendered from underneath the default plane. Although it appears bleak, it demonstrates lighting and shadows are correctly ignored and only ambient light is applied


Creative Image

This image was rendered using 1000 point lights to simulate soft shadows. It took over two hours to finish and shows the linear scaling of adding point lights to the scene


Extra Credit 1 - Directional Lights

This image was created using only a directional light instead of two point lights. Directional lights render slightly faster than directional lights since they do not have to compute the light vector (it's saved in the directional light object), and no distances have to calculated


About this project

Time Required: ~10 hours (very approximate)
Difficulty: Easy. Lots of typing and organizing
Code: project2.tar