Skip to main content
Skip header
Terminated in academic year 2020/2021

Fundamentals of Computer Graphics

Type of study Bachelor
Language of instruction Czech
Code 460-2021/01
Abbreviation ZPG
Course title Fundamentals of Computer Graphics
Credits 6
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
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.

Literature

[1] Němec M.: Fundamentals of Computer Graphics. https://blender.vsb.cz/fundamentals-of-computer-graphics/.
[2] Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane: Opengl Programming Guide, ISBN 978-0-321-77303-6 , http://it-ebooks.info/book/2138/.
[3] Khronos Group, OpenGL: the industry’s foundation for high performance graphics,2020. See http://www.opengl.org/.
[4] Khronos Group, OpenGL Overview - The Khronos Group Inc, 2020. See https://www.khronos.org/opengl/.

Advised literature

[1] Hirley, Peter, Michael Ashikhmin, Steve Marschner. Fundamentals of Computer Graphics. 3rd ed. A K Peters/CRC Press, 2009. ISBN: 9781568814698 .
[2] J. de Vries, Learn OpenGL: Learn Modern OpenGL Graphics Programming in a Stepby-step Fashion. Kendall & Welling, 2020.
[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.