CSS552: Programming Assignment #3

Shadow and Secondary Illumination

Due Time: Refer to the course web-site.


Objective

The goals of this programming assignment are for us to implement, experience, and understand the global illumination effects: shadow computation, reflection, and very simple refraction.  Here are more details.

Approach

Please refer to my solution. Here are the command files (with sample test cases). You should download and unzip both of these files, then double click on RTViewer to run the sample program. Notice that in this version of the ray tracer you are to extend your Phong illumination model from mp2 to include support for shadow, reflection, and the simplest support for refraction computation. Please download this starter project (my mp2 solution) and unzip the source code. Here are some important hints to the source code:


The RayTracer Project: RTCore_Init.cs

Notice the new loop to initialize all lights. This is where shadow depth map should be computed (before rendering computation actually begins!).

RTLightType:


Credit Distribution

Here is how the credits are distributed in this assignment:

1.      15%: Reflection

2.      20%: Refraction

  1. 25%: Shadow: Ray trace point sampled
  2. 35%: Shadow Depth Map
  3. 5%: Cleanup MP2 GUI check boxes
  4. 5%: Proper submission

Extra Credits

 

Interesting (or not) potential bug

·         Refer to this ppt, light source closer than object!

This programming assignment will count 15% towards your final grade for this class.