The students study and apply fundamental algorithms for realtime rendering and geometry synthesis. They design and implement their own interactive graphics programs using the OpenGL graphics API.
This course provides an introduction to the field of Computer Graphics with a focus on image synthesis. We will first build a basic rendering pipeline that comprises the core components of modern graphics systems. During the construction of this software rendering system, we will cover the basic mathematical concepts, such as 2D and 3D transformations, examine the interaction of light with geometry to derive suitable shading models, and discuss elementary rendering algorithms, such as rasterization or visibility computations. We will then investigate how these fundamental components are integrated in current graphics processors and study the corresponding programming APIs, in particular OpenGL.
Students will experiment with modern graphics programming and build small interactive demos in OpenGL. Complemented by some theoretical exercises, these programming tasks lead to a graphics software project, where small teams of students design and implement a complete graphics application.
At the end of the course students will be able to:
Some experience with C/C++/Python/Java programming is helpful.