Louis Liu - CSC 471 Final Project

Project Description

For my final project, I implemented a ray tracer which supports multiple models and lights.
Only spheres are implemented as of this version, but other shapes can be easily added.

Graphic Topics Implemented

- Ray Tracing
- Multi-threaded Rendering
- Phong Shading
- Lighting
- Scene modification

Controls

[1-9] - pick object 
m     - switches between controlling spheres and lights
x     - modify x value
y     - modify y value
z     - modify z value
r     - modify radius
s     - modify specular power
d     - modify diffuse power

-     - decrease value
=     - increase value

n     - add new object (based on current mode)

Project Images


What are the white dots?

White dots represent the location of light sources.

References

http://wiki.cgsociety.org/index.php/Ray_Sphere_Intersection
http://www.lighthouse3d.com/tutorials/maths/ray-sphere-intersection/
http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtrace0.htm