CSS552: Programming Assignment #4

Texture Mapping and Triangle

Due Time: Refer to the course web-site.


Objective

The goals of this programming assignment are for us to implement, experience, and understand integrating a primitive into the ray tracing system and with texture mapping procedures: explicit image file texture, and implicit procedural texture. 


Approach

Please refer to my solution. Here are the command files (with sample rendered images). You should download and unzip both of these files, then double click on the exe to run the sample program. In this assignment, you are to implement the math for position to UV mapping for the sphere, and implement checker, sine, ramp, and compute the implementation of the triangle geometry. Please download this starter project and unzip the source code.


The RayTracer Project

By now, we should all be quite familiar with this project from our mp1 experience. In mp1 you spent time implementing the visibility computation in the RTCore_Compute.cs file. In mp2, we will implement the Phong illumination model in the ComputeShading() function in the RTCore_Shade.cs file. The ComputeShading() function is invoked once to compute for the color of each visible sample from the ComputeImage() function.

In this version of the ray tracer, we want to pay attention to:


Credit Distribution

Here is how the credits are distributed in this assignment:

  1. 20%: Sphere: Position to UV mapping to support image file texture mapping
  2. 30%: Triangle: parsing + support UI showing
  3. 15%: Checker Texture:
  4. 15%: Sine Texture:
  5. 10%: Ramp Texture
  6. 10%: Proper submission and efficiency

Extra Credits

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