Skip to main content
Skip header

Fundamentals of Computer Graphics

Type of study Bachelor
Language of instruction Czech
Code 460-2021/03
Abbreviation ZPG
Course title Fundamentals of Computer Graphics
Credits 4
Coordinating department Department of Computer Science
Course coordinator Ing. Martin Němec, Ph.D.

Subject syllabus

Lectures
1. Introduction Computer Graphics. Raster and vector graphics (point, vector, line, curve, etc.). Interpolation.
2. Graphics hardware. Introduction to standard rendering pipeline (OpenGL).
3. 3D Object representation in CG (polygonal, CSG, procedural, etc.), object topology. Model formats (OBJ, FBX).
4. Transformations in CG (move, rotation, scale), projective space.
5. Projections (perspective vs. orthogonal projection), camera, clipping, rasterization.
6. Colors, human eye, light (pointlight, spotlight, directional light, area light). Color mixing (blending).
7. Lighting, local lighting models (Lambert, Phong), global lighting models, BRDF, radiosity, ray-tracing, ambient occlusion, shading.
8. Textures in OpenGL texture units, Texel. UV mapping.
9. Visible surface algorithms (z-buffer, painter's algorithm). Skybox, skydome.
10. Bump mapping, normal mapping. Displacement mapping.
11. Shadows in CG, shadow algorithm, shadow maps.
12. Curves (Bezier curve) .

Exercises (PC classroom)
1. Basic mathematics in CG, matrixs, etc. Project in C ++ with libraries.
2. Introduction to modern OpenGL. The structure of the project.
3. Objects in OpenGL VBO, IBO, glDrawElements, glDrawArrays.
4. View and projection transformations(MVP).
5. Shaders (vertex, fragment).
6. Phong reflection model.
7. Loading textures (OpenCV), uv-mapping.
8. Visibility, skybox, skydome.
9. Normal mapping.
10. Shadows, shadow maps.
11. Movement along the curve.
12. 3D printing.

E-learning

Materials are available at https://lms.vsb.cz/?lang=en.

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/.

Advised 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.