The design of framework references "Realistic Ray Tracing" by Peter Shirley and R. Keith Morley
All images (512x512) are adaptive sampleing with 2 levels of subdivision, with Hall illumination model


After I changed Cs and Cd parameters, here's an image. I looked up OpenGL material website and picked the one for pearl. Because I want to avoid changing my code as much as possible, every object except the floor uses "pearl" as material (i.e. the same Cs and Cd values).

shadowOnly.png
Running time: 110 + 602 seconds

Here's an image with recursive reflection(the green sphere, yellow sphere and the red cow are reflective).

allLevel.png
Running time: 141 + 1173 seconds

Here's another image with different color parameters and recursive reflection(the green sphere, yellow sphere and the red cow are reflective).

adaptiveSampled_glass.png
Running time: 149 + 1251 seconds

In this image, everything is reflective.

adaptiveSampled_allObjects.png
Running time: a long time

Here's one image with wrong shading parameters..

wrongParam.png
Running time: lost this record, but pretty fast