In this project we will add support for soft shadows and glossy reflections/refractions to our ray tracers.
Requirements
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"/> </light>
We specify glossy reflections/refractions by adding a "glossiness" value for the "reflection" or "refraction" tag of the Blinn material. 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.01"/> </material>
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 some of 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