Yu-Chi Lai

 

CS779: Assignment 1: Source code

Write a Raytracer

You may work in pairs.

This assignment is very loosely specified. We would like you to produce a simple raytracer that can render spheres and triangle meshes. Your raytracer must support the functionality implied by the input file format that we give you, which includes:

bulletOpenGL style viewing specifications: Look from, Look at, Look up, Vertical field of view, aspect ratio.
bulletResolution specified as a command line parameter or hard coded.
bulletPoint and directional light sources.
bulletThe standard OpenGL shading parameters.
bulletMaterial definitions
bulletObject definitions
bulletObject instantiation with different materials

The file format will also contain things like emissive color and mirror materials, but you can ignore that for now. Sometime soon we'll get you code that parses the file format, some example files, and some other helper code. The code we give you will be in C++.

Your raytracer must handle shadows. It should be as modular as possible in design, with reflectance models separated from geometry. Later, we will build upon this assignment to explore other aspects of high quality rendering, such as form factor computations for radiosity, and advanced reflectance models. You might also want to use it for your project.

Any number of books and web resources can help you with this project. If you are having difficulties, talk to Stephen or Eric.

Contact:

      E-mail        yu-chil@cae.wisc.edu

      Address    422 N. Segoe Rd. Apt. 73B,

                          Madison, WI 53705

      Phone   H:           608-236-9763

                     CS:       608-262-7500