Skip to main content
Skip header

Computer Graphics II

Summary

The content of this course aims to expand the student's knowledge acquired in the course Computer Graphics I on real-time image synthesis techniques using modern graphics APIs. Emphasis is placed on the description of individual parts of the standard rendering pipeline, but also advanced hybrid approaches combining rasterization with recursive ray tracing methods to achieve a realistic appearance of the resulting images are discussed. Theoretical knowledge gained during discussion of partial tasks serve as a basis for practical implementation of specific examples during exercises. Exercises closely correspond to the lectures and the implementation of the aforementioned topics in the C++ language environment is assumed.

The aim of the course is to supplement and expand the topics that the student could be acquainted with in the course Computer Graphics I with a focus on real-time image synthesis using rasterization and hybrid approaches. Emphasis is placed on the practical use of the graphical API OpenGL, Vulkan, and OptiX in creating programs for displaying 3D scenes demonstrating the individual discussed topics.

The graduate of the course will able to:

- define affine and projective transformations,
- describe the basic parts of a rendering pipeline and SBT principles,
- orient in the structure of the API OpenGL, Vulkan, and OptiX,
- configure individual parameters of the graphical interface and create program code for it in GLSL language,
- create more complex display chains of advanced techniques (deferred rendering, shadow generation, global lighting simulation),
- systematically analyze and eliminate errors in graphical output,
- combine rasterization with recursive ray tracing techniques,
- create applications for displaying interactive 3D graphics.

Literature

[1] Segal, M., Akeley, K.: The OpenGL Graphics System, 2022, 850 pages.
[2] Pharr, M., Jakob, W., Humphreys, G.: Physically Based Rendering, Fourth Edition: From Theory to Implementation, MIT Press, 2025, 1312 pages, ISBN 978-0262048026 .
[3] Stroustrup, B. The C++ Programming Language. Addison-Wesley Professional, 4th edition, 2013.

Advised literature

[1] Haines, E., Akenine-Möller, T. (ed.): Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs. Apress, 2025, 607 pages, ISBN 978-1484244265 .
[2] Marrs, A., Shirley, P., Wald, I (ed.). Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX. Springer Nature, 2025, 858 pages, ISBN 978-1484271841 .
[3] Akenine-Möller, T., Haines, E., Hoffman, N.: Real-Time Rendering, Fourth Edition, AK Peters, 2018, 1198 pages, ISBN 978-1351816151 .
[4] Gordon, V. S., Clevenger, J. Computer Graphics Programming in OpenGL with C++. Mercury Learning & Information, 2nd edition, 2020.
[5] Sellers, G., Wright, R. S., Haemel, N. OpenGL Superbible: Comprehensive Tutorial and Reference. Addison-Wesley Professional, 2015, 880 pages, 7th edition, ISBN 978-0672337475 .
[6] De Vries, J.: Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion. Kendall & Welling, 2020, 522 pages, ISBN 978-9090332567 .


Language of instruction čeština, čeština, angličtina
Code 460-4033
Abbreviation PG2
Course title Computer Graphics II
Coordinating department Department of Computer Science
Course coordinator Ing. Tomáš Fabián, Ph.D.