|Location:||TBD (Remote asynch possible)|
|Meeting Time:||I hr: Tu, Th 10:30-11:50|
|Offered this year?||Yes|
|When Offered?||Every year|
This course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. It introduces 2D raster graphics techniques, including simple image processing. The bulk of the course is devoted to 3D modeling, geometric transformations, and 3D viewing and rendering. A sequence of assignments culminates in a simple geometric modeler and ray tracer. C++ and the graphics library OpenGL are used throughout the course, as is shader programming on the GPU. The final project is typically a small group project spec'd and implemented by the group using shaders or ray tracing to create special effects.
Prerequisite: CSCI 0160, CSCI 0180, CSCI 0190, or CSCI 0200 or equivalent background. Some knowledge of basic linear algebra is helpful but not required. Strong object-oriented programming ability (e.g., in C++, Java or Python) is required; C++ will be taught in the beginning.