Starting from:

$30

Assignment 4: Raytracing

CSE 333/533 - Monsoon 
Assignment 4: Raytracing

In this assignment you will write a raytracer to generate nice images. Lumina is a basic
raytracer provided to you. Compile it and run to see the output. Currently it doesn’t do
much except rendering a sphere in flat color. Go through the code and understand how it
works. Following questions ask you extend the raytracer to perform basic shading.
1. Extend the Shape class to implement a Triangle that can be rendered in the raytracer.
[4 marks]
2. Implement Phong shading for the shapes. [4 marks]
3. Implement shadows in the raytracer. [4 marks]
4. Implement reflective and dielectric materials (i.e., make your ray-tracer recursive). [8
marks]
Deliverables
• C/C++ code (make sure to upload full Cmake Project).
• 2~3 page PDF Report written with Latex/MS Word. Use the acmlarge option (single
column) (see sample-acmlarge.tex if writing with Latex).
Total marks for this assignment: 20 marks
Bonus (bonus marks to a maximum of 8 will be awarded for the following features. This
part is completely optional)
5. Implement at least one more shape primitive in the raytracer (e.g., Cylinder, torus, or
a quadric). [3 marks]
6. The generated image looks very jaggy. Implement jittered supersampling to improve
the quality of your rendering. [2 marks]
7. Implement Schlick’s approximation to Fresnel’s reflection and Beer’s law in your code.
[3 marks]

More products