460-2021 – Fundamentals of Computer Graphics (ZPG)

Gurantor departmentDepartment of Computer Science
Subject guarantorIng. Martin Němec, Ph.D.
Study levelundergraduate or graduate
Subject version
Version codeYear of introductionYear of cancellationCredits
460-2021/01 2010/2011 2020/2021 6
460-2021/02 2015/2016 2020/2021 6
460-2021/03 2019/2020 4
460-2021/04 2019/2020 4

Subject aims expressed by acquired skills and competences

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.

Teaching methods

Lectures
Tutorials

Summary

The aim of this course is to introduce students to the fundamental principles of 3D computer graphics using the OpenGL graphics API (optionally Vulkan) and shader programming in GLSL. Students will gain basic knowledge of the functioning of graphics cards and the rendering pipeline, learn selected fundamental algorithms, and gain practical experience implementing key techniques.

Compulsory literature:

[1] Němec M.: Fundamentals of Computer Graphics. 2025 [2] Khronos Group, The Khronos Group, 2025. https://www.khronos.org/ [3] Khronos Group, OpenGL - The Industry Standard for High Performance Graphics,2025. See http://www.opengl.org/.

Recommended literature:

[1] Foley, J., van Dam, A., Feiner, S., Hughes, J.: Computer Graphics: Principles and Practice, 3rd Edition, Addison-Wesley, 2014. [2] Shreiner, D., Sellers, G., Kessenich, J., Licea-Kane, B.: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.6, 9th Edition, Addison-Wesley, 2016. [3] S. Shekar, C++ Game Development By Example: Learn to build games and graphics with SFML, OpenGL, and Vulkan using C++ programming. Packt Publishing, 2019.

Additional study materials

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.