Crystal Skull

By Saswata Mohanta

For the showcase, I extended the A3 ray tracer and built a scene called Crystal Skull. It shows a translucent glass skull sitting on a checkered floor with two reflective metal spheres and a light setup that creates strong highlights and shadows. I added several new features to the original assignment to make the render look more interesting.

Features added

1. Refraction (Glass Material)

I added an index of refraction field to the Material class and implemented refraction inside raycolor.cpp. This lets objects behave like glass and bend light.

2. Fresnel Blending

I mixed reflection and refraction using the Fresnel term. This gives the crystal skull more realistic edges and bright highlights.

3. Depth of Field (Camera Blur)

I changed the code in main.cpp to jitter rays around the aperture and focus distance. This creates a shallow “depth of field” effect so the background gets a blur.

4. Procedural Textures

In blinn_phong_shading.cpp I added simple functions to generate checker patterns on planes and a fake marble effect for spheres. This removes the need for texture files and still gives the scene detail.

5. Reflective Surfaces

I kept recursive reflections but tuned material values to get stronger metal reflections.

6. Triangle Mesh Support

I used the provided STL loader with a skull mesh (skull.stl) and set it to use the glass material.

Acknowledgements