Ray Tracing Part 1 - Whitted Ray Tracing

Overview

In this assignment you will implement Whitted ray tracing. The ray tracing framework you will use for this purpose is called rt.

rt can be downloaded from its repository at https://github.com/paragchaudhuri/rt

Preparation

  1. Download rt.
  2. Compile it by running make. Change appropriate paths in the Makefile to make sure they point to the correct locations. Make sure it compiles without any errors or warnings. It should generate one executable called rt.
  3. Documentation for rt can be generated by running Doxygen on the code.

To Do : Whitted Ray Tracing

  1. Complete the implementation for pointlight_t so that rt computes correct direct (or local) illumination, and computes correct shadows.
  2. Add recursion to whitted_integrator_t to handle secondary reflected and transmitted rays. Make sure total internal reflection is handled correctly.
  3. Create the a version of a Cornell room scene with the sphere objects as done in the smallpt ray tracer. Name this scene file cornellscene.xml and put it in the scenes folder of rt.
  4. Render it.
  5. Write a pdf report explaining what you added to rt to implement the above mentioned features. Name this report file report.pdf. Make sure you include the names of all members of your group in the report. Put the report in the doc folder in the rt tree.
  6. Bonus 1: Add texture maps to rt. This can be a new material type.
  7. Bonus 2: Add a triangle mesh class object to rt. The mesh can be read from a Wavefront OBJ file.

Marking

  1. Correct direct illumination with diffuse, specular and ambient parts: 50 marks
  2. Correct reflected secondary rays and recursion: 50 marks
  3. Correct transmitted rays, with total internal reflection: 50 marks
  4. Correct shadows : 50 marks
  5. Bonus 1: 25 marks (Applies only when entire normal assignment is complete)
  6. Bonus 2: 25 marks (Applies only when entire normal assignment is complete)
  7. PDF report included with submission: 10 marks
  8. Total: 210 + 50 marks
  9. Deductions: Inconsistently written code (follow style used in rt) : 10 marks
  10. Deductions: Submitting an unclean archive : 20 marks.
  11. Late submission policy: Upto 4 late days are allowed, in total, across all submissions, over the entire semester. After the 4 late days are used up, no marks will be given.

Important Note

Please do not put your solution code and report anywhere public. It should not be available online.

To Submit

Submissions will be handled via Github Classroom.

Previous
Next