Computer Graphics for Computer Games (Summer 2024/25)

This is an intermediate course about real-time computer graphics focusing on techniques used in contemporary 3D games.


News

Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ


Dates (SIS)

Lectures: Thursdays 9:00, S4

Labs: Thursdays, 17:20, S8

Online: Discord (invite above)


How to pass the course (DRAFT)

You are required to enter a team of ideally 3 people (not more), select a topic (i.e. a whitepaper with GPU technique), implement it, and present it at the end of the semester.
Then you have to pass the oral examination.


Course Exam

There will be an oral examination done during the examination period.
Here goes a list of topics (might be updated as the semester proceeds) including some details on the examination itself.

Exam dates:

TO-BE-DECIDED


Schedule

Type No. Date Format Topic Lecturer Content Slides / Videos
Lec 1. Thu 20.2.2025 Physical
(S4)
Introduction Tomáš Iser Course overview
Lec 2. Thu 27.2.2025 Online
(Discord)
Review of the GPU architecture
and the OpenGL/DirectX pipeline
Shaders & Shading Technology
Martin Pernica GPU architecture
Moving geometry primitives through the pipeline
Shader stages one by one:
vertex, pixel, geometry, tessellation, compute
Lab 1. Thu 27.2.2025 Physical
(S8)
Introduction Darryl Gouder Supplemental material PDF PDF  1  (2022)
MP4  1  (2022)
PDF  2  (2022)
MP4  2  (2022)
Lec 3. Thu 6.3.2025 Online
(Discord)
Game Engine Architecture: Overview Martin Pernica Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development, debugging, optimizations
Lab 2. Thu 6.3.2025 Physical
(S8)
DirectX 11 Part 1 + 2 Darryl Gouder PDF (2022)
MP4 (2022)
Lec 4. Thu 13.3.2025 Physical
(S4)
Real-time shadows Tomáš Iser Shadow calculation (shadow mapping,
shadow volume)
Advanced shadow mapping techniques
Soft shadows
Anti-aliasing (if time permits)
Lab 3. Thu 13.3.2025 Online
(Discord)
DirectX Part 3 Darryl Gouder PDF -1- -2- (2022)
MP4 (2022)
Lec 5. Thu 20.3.2025 Physical
(S4)
GTA V + DOOM 4 renderer dissection Martin Pernica Techniques used in GTA V and DOOM 4 renderers
Lab 4. Thu 20.3.2025 Physical
(S8)
Semester project initial presentations
Deadline: Initial presentation (5 mins) + specification (written)
Tomáš Iser
Darryl Gouder
Lec 6. Thu 27.3.2025 Online
(Discord)
Animation Tomáš Iser Animation – formats and compression
Bone (or skeletal) animation; rigid bodies, joints
Vertex blending and problems
Forward and inverse kinematics, solvers
Facial animations; blend shapes, morph targets
Motion capture
Physically based animations; hair animation, anatomical body models
Lec 7. Thu 3.4.2025 Physical
(S4)
Physically-based Rendering – Part I Tomáš Iser Intro to radiometry, photometry, colorimetry
Radiance, luminance, color spaces, chromacity diagram
sRGB, brightness and gamma correction
Light-matter interactions, BRDF, the reflection equation
Lec 8. Thu 10.4.2025 Physical
(S4)
Physically-based Rendering – Part II Tomáš Iser Reflection models introduction
Lambertian diffuse, Fresnel reflection
Environment maps
Spherical Harmonics
Lab 6. Thu 10.4.2025 Physical
(S8)
Direct X 11 Part 4
Deadline: Project report 1 (text + images, roughly 1-2 A4 pages)
Darryl Gouder PDF (2022)
MP4 (2022) (incomplete)
Lab 7. Thu 17.4.2025 Online
(Discord)
Semester Project Consultation Darryl Gouder
Lec 9. Thu 24.4.2025 Physical
(S4)
Physically-based Rendering – Part III
Advanced real-time shading techniques
Tomáš Iser Brief overview of Monte Carlo integration
Image-based lighting
Prefiltered environment maps
Filtered importance sampling
Basic global illumination & path-tracing
Photon mapping
Lab 8. Thu 24.4.2025 Online
(Discord)
Semester Project Consultation Darryl Gouder
Thu 8.5.2025 Deadline: Project report 2 (text + images, roughly 1-2 A4 pages)
Lec 10. Thu 15.5.2025 Physical
(S4)
Content Creation I – Manual Tomáš Iser Content creation for games in general
The importance of texture calibration
Level of detail
Photogrammetry
Creating large landscapes
Lab 9. Thu 15.5.2025 Online
(Discord)
Semester Project Consultation Darryl Gouder
Lec  11. Thu 22.5.2025 Physical
(S4)
Content Creation II – Procedural Tomáš Iser Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
Lab 10. Thu 22.5.2025 Online
(Discord)
Semester Project Consultation Darryl Gouder
Week after (TBD) Physical
(TBD)
Final presentations including demo Tomáš Iser
Jakub Gemrot

Labs details [DRAFT]

The labs have two parts:

  1. there are going to be (1+)4 labs oriented on Direct X 11 and the low-level programming for GPUs (no homeworks),
  2. you will be required to form a team of 2 people,
  3. then you have to select a semester project and write a document with the assignment,
  4. on which you will be incrementally working throughout the semester,
  5. extend your document with 2 reports
  6. and finally deliver the project during presentations.

You will receive credits for labs if you:

  1. are sending us regular semester project reports,
  2. successfully deliver and defend a semester project.

Semester Project Topics [DRAFT]

See this document with some suggestions.

Deliverables

  1. Project description
    Example: LINK (solo project, does not include -6-)
    Mandatory sections:

    1. Name of the project
    2. Your starting point (possibly detailing your starting knowledge in real-time graphics)
    3. Features you are targetting
    4. Technologies you will use
    5. Milestones
    6. Responsibilities – mapping features -> team members

Semester Project Grading

You need to gather at least 60 points for your semester project in order to pass.

You are gathering points by choosing a semester project topic, sending reports and defending your semester project (on time).

You receive points for:

  1. Forming a team and choosing a semester project topic on time – 10 points
  2. Deliver Semestral report 1 on time – 10 points
  3. Deliver Semestral report 2 on time – 10 points
  4. Defending your project – up-to 40 points

Semester projects are judged by teachers.

Semester Project Final Presentations

Prepare 10 minutes presentation at max. It is mandatory to show your project in action, video is not accepted. It will be followed by 10 minutes of Q&A.

Example presentation flow:
1. Topic introduction [1 minute]
2. Team and features mapping (who did what) [2 minutes]
3. Live show-case [6 minutes]
4. Closing remarks [1 minute]

https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg