The students study and apply fundamental concepts and algorithms of computer graphics for rendering, geometry synthesis, and animation. They design and implement their own graphics programs.
This course provides an introduction to the field of Computer Graphics. We will cover fundamental methods for rendering, geometric modeling, and animation. More specifically, we will discuss basic mathematical concepts, such as 2D and 3D transformations, examine the interaction of light with geometry to derive suitable shading models, study elementary rendering algorithms, such as rasterization and raytracing, and explore procedural techniques for graphics content creation. Students will experiment with modern graphics programming and build small demo programs for raytracing and real-time rendering using OpenGL.
At the end of the course, students will be able to:
Some experience with C/C++/Python/Java programming is helpful.
Week | Lecture |
---|---|
1 | Introduction (HTML,PDF); Colors (HTML,PDF) |
2 | Raytracing (HTML,PDF) |
3 | Lighting (HTML,PDF) |
4 | Triangle Meshes (HTML,PDF) |
5 | Rasterization (HTML,PDF); 2D Transformations (HTML,PDF) |
6 | 3D Transformations (HTML,PDF); Projections (HTML,PDF) |
7 | Rasterization (HTML,PDF) |
8 | Texture and Shadows (HTML,PDF) |
9 | Fractals and L-Systems (HTML, PDF) |
10 | Procedural Modeling (HTML, PDF) |
11 | Bézier Curves (HTML, PDF) |
Week | Lecture |
---|---|
1 | CMake, IDEs, and Blender (HTML,PDF) |
2 | CPP, Assignment 1 (HTML, PDF) |
3 | Lighting, Assignment 2 (HTML, PDF) |
4 | Raytracing Meshes, Assignment 3 (HTML, PDF) |
5 | No practical session (exam) |
6 | Transformations, Assignment 5 (HTML) |
7 | OpenGL Texturing and Lighting, Assignment 6 (HTML, PDF) |
8 | Shadows and Cube Mapping (HTML, PDF) |
9 | Procedural Noise (HTML) |