Annotation

During the course, students will become familiar with the fundamental principles of 3D computer graphics using the C++ programming language and the OpenGL graphics API (optionally Vulkan), and will gain practical experience with shader programming in GLSL. They will progress through the steps from loading a 3D model to its visualization, including working with cameras, transforming objects and entire scenes, setting up lighting, working with textures, normal maps, shadows, skybox creation, and more.

Lesson plan

Dare Time Event
16. 9. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 1 - Vectors, points, basic operations, vector spaces, coordinate systems, transformations, OpenGL template
23. 9. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 2 - Modeling transformations, material management, scene movement
30. 9. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 3
7. 10. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 4
14. 10. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 5
21. 10. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 6
28. 10. 2025 Free day
4. 11. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 7
11. 11. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 8
18. 11. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 9
25. 11. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 10
2. 12. 2025 14:15 – 15:45, 16:00 - 17:30 Lecture and exercise 11
9. 12. 2025 14:15 - 17:30 presentation of solutions to tasks assigned during exercises

Literature

In addition to the recommended literature listed in the introductory slides of the first lecture, the primary source of information are the lecture notes and accompanying source files.

Credit

The maximum number of points for completing (i.e., implementing and verifying the functionality of) individual tasks can be found here. All submitted assignments are expected to demonstrate perfect familiarity with the source code and understanding of the methods and procedures used. The deadline for obtaining credit is December 9, 2025.

Exam

The exam is oral with written preparation (max. 55 points). The exam questions correspond to the topics covered in the lectures. A list of exam question topics can be found here. The primary source of information for exam preparation are presentations and lecture notes. Additional recommended reading is listed on the slides from the first lecture. Exam dates will be posted during the exam period in Edison.

Lecture 1

Introductory lecture, representation of geometry, affine and projective space, coordinate systems, transformations, simple camera

Lecture 2

Modeling transformations, material management, scene movement

Excercise 1

The main goal of the first exercise is to familiarize yourself with the template (for VS2022), which can be used to facilitate the completion of tasks from individual exercises. During the exercise, we will discuss the following topics: representation of input geometry (OBJ format), vertices, normals, materials (MTL format), and textures. We will also describe the basic functionality of libraries to facilitate working with the OpenGL API.

Excercise 2

This exercise follows on from the previous introductory demonstration of the template by loading meshes and displaying them using a simple fragment shader.