|Meeting Time:||T hr: M,W 3:00-4:20|
|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 scan conversion, simple image processing, interaction techniques and user interface design. 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 OGL are used throughout the course, as is shader programming on the GPU, taught from the first lab onwards. The final project is typically a small group project spec'd and implemented by the group using shaders to create special effects.
Prerequisite: CSCI 0160, CSCI 0180, or CSCI 0190, 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.