CS 6620 - Fall 2019 - Ray Tracing for Graphics

Project 10 - Soft Shadows and Glossy Surfaces

In this project we will add support for soft shadows and glossy reflections/refractions to our ray tracers.


XML Scene Format

In the XML scene format we specify area shadows by adding a "size" value to point lights. This size value effectively converts the point light to a spherical area light.

<light type="point" name="pointLight">
	<intensity value="1.0"/>
	<position x="-50" y="-100" z="50"/>
	<size value="5.0"/>

We specify glossy reflections/refractions by adding a "glossiness" value for the "reflection" or "refraction" tag of the Blinn material. The glossiness value determines the maximum shift in degrees from the perfect refection or refraction direction. If the glossiness is not specified, it should be regarded as zero, which means no glossy reflections/refractions. Notice that the "glossiness" value for the "reflection" tag is separate from the "glossiness" of the Blinn shading.

<material type="blinn" name="ground">
   <diffuse r="0.3" g="0.3" b="0.3"/>
   <specular value="0.1"/>
   <glossiness value="50"/>
	<reflection value="0.5" glossiness="0.01"/>
	<refraction index="1.52" value="0.5" glossiness="0.1"/>

Source Code

The following source code files are provided to help you with this and upcoming projects. You are not required to use them, but it is highly recommened that you use them and refrain from modifying them. Some of these files include additional code as compared to the same files in the previous project, so make sure to download them all again.

Test Scenes

The following scene files are provided to help you test your implementation. You can also prepare other scenes to show your work.

Optional Feature Suggestions


Student Project Pages