CSCI 371(F) Computer Graphics (Q)
PhotoShop, medical MRIs, video games, and movie special effects all programatically create and manipulate digital images. This course teaches the fundamental techniques behind these applications. We begin by building a mathematical model of the interaction of light with surfaces, lenses, and an imager. We then study the data structures and processor architectures that allow us to
efficiently evaluate that physical model.
Students will complete a series of programming assignments for both photorealistic image creation and real-time 3D rendering using C++, OpenGL, and GLSL. These assignments cumulate in a multi-week final project. Topics covered in the course include: projective geometry, ray tracing, bidirectional surface scattering functions, binary space partition trees, matting and compositing, shadow maps, cache management, and parallel processing on GPUs.
Format: lecture, with optics laboratory exercises. Evaluation based on assignments, projects, and exams.
Prerequisites: Computer Science 136 or equivalent programming experience, and Mathematics 211 OR permission of the instructor. No enrollment limit (expected: 18).
PROJECT COURSE
Hour: MCGUIRE