CS 413 Introduction to Ray and Vector Graphics Fall 2014
Computer Science Department
University of New Mexico

Course Description
Topics include ray-geometry intersections, viewing, lenses, local/global illumination, procedural textures/models, spline curves and surfaces, and statistical integration for realistic image synthesis. Students will write a raytracing renderer from scratch, exploring high performance implementations and realistic rendering.

Joel Castellanos , Department of Computer Science


Ray Tracing from the Ground Up by Kevin Suffern ISBN-13: 978-1568812724, A K Peters/CRC Press (September 6, 2007) The link above contains software downloads.

Notes and Assignments:

  1. Course Introduction, First reading assignment and first programming assignment (pdf)
  2. Basic C++ Optimizations, second reading assignment and second programming assignment (pdf)
  3. Chapter 8: Prospective Viewing (pdf)
  4. Projection Mapping on Solid Surfaces (mp4)
  5. View frustum According To Viewers HeadPosition (mp4)
  6. Depth-of-Field Rendering with Multiview Synthesis, SIGGRAPH ASIA 2009 (mp4)
  7. Depth-of-Field Rendering with Multiview Synthesis, SIGGRAPH ASIA 2009 (pdf)
  8. CheckerBoard.java This bearer bones Java version of a ray traser that only does axis-aligned Parallel and Perspective Projection of a plain infinite checkerboard plane.
  9. Picture.java Utilly class that opens a graphical window.
  10. GUI.java Sample GUI component class to drive the bearer bones ray traser.
  11. Vector3.java Utility 3D vector class. As the semester progresses, more and more functionality will be added to this class.
  12. Chapter 13: Bidirectional Reflectance Distrivution Function (pdf)
  13. UtahTeapot.obj ASCII OBJ file of the Utah Teapot (1,024 triangles. File includes vertex normals)
  14. StanfordBunny.obj ASCII OBJ file of the Stanford Bunny (69,666 triangles. Vertex normals NOT given in file)