Computer Graphics for Computer Games (Summer 2021/22)

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 12:20, some will be physical, some will be online, see the schedule; we start 17.2.2022

Labs: Mondays, 17:20, online, let’s meet on Discord > Lecture Hall > Auditorium; we start 21.2.2022


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 17.2.2022 Physical Introduction Martin Kahoun Course overview PDF
Lab 1. Mon 21.2.2022 Online Introduction
Semester project overview
Jakub Gemrot Rec. on OneDrive
Lec 2. Thu 24.2.2022 Physical Review of the GPU architecture
and the OpenGL/DirectX pipeline
Shaders & Shading Technology
Martin Kahoun GPU architecture
Moving geometry primitives through the pipeline
Shader stages one by one:
vertex, pixel, geometry, tessellation, compute
PDF
Lab 2. Mon 28.2.2022 Online DirectX 11 Part 1
Semester project topic consultations
Jakub Gemrot Creating DirectX application PDF
Rec. on OneDrive
Lec 3. Thu 3.3.2022 Online Game Engine Architecture: Overview Martin Pernica Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development, debugging, optimizations
PDF
Lec 4. Thu 10.3.2022 Physical Content Creation I – Manual Martin Kahoun Content creation for games in general
The importance of texture calibration
Level of detail
Photogrammetry
Creating large landscapes
PDF
Lab 3. Mon 14.3.2022 Online Semester project topic presentations
DirectX 11 Part 1 continued
Jakub Gemrot Small DirectX rendering framework Rec. on OneDrive
Lec 5. Thu 17.3.2022 Physical Content Creation II – Procedural Martin Kahoun Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
PDF
Lab 4. Mon 21.3.2022 Online DirectX 11 Part 2 Jakub Gemrot Phond shading PDF
Rec. on OneDrive
Lec 6. Thu 24.3.2022 Physical GTA V + DOOM 4 renderer dissection Martin Kahoun Techniques used in GTA V and DOOM 4 renderers PDF
Lab 5. Mon 28.3.2022 Online DirectX 11 Part 3
Semester project report 1
Jakub Gemrot Geometry shader and Billboarding PDF1, PDF2
Rec. on OneDrive
Lec 7. Thu 31.3.2022 Physical Real-time shadows Martin Kahoun Shadow calculation (shadow mapping,
shadow volume)
Advanced shadow mapping techniques
Soft shadows
Anti-aliasing (if time permits)
PDF
Lab 6. Mon 4.4.2022 Online  DirectX 11 Part 4 Jakub Gemrot Deferred rendering, SSAO PDF
Rec. on OneDrive
Lec 8. Thu 7.4.2022 Physical Animation Martin Kahoun 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
PDF (2021)
Mon 11.4.2022 Semester project report 2 Jakub Gemrot
Lec 9. Thu 14.4.2022 Online
DISCORD
9:00
Physically-based Rendering – Part I
Preliminaries
Martin Pernica Intro to radiometry, photometry, colorimetry
Radiance, luminance, color spaces, chromacity diagram
sRGB, brightness and gamma correction
Light-matter interactions, BRDF, the reflection equation
PDF
Lec 10. Thu 21.4.2022 Online
DISCORD
9:00
Physically-based Rendering – Part II Martin Pernica Reflection models introduction
Lambertian diffuse, Fresnel reflection
Environment maps
PDF
Mon 25.4.2022 Semester project report 3
Lec 11. Thu 28.4.2022 Online
DISCORD
9:00
Physically-based Rendering – Part III
Advanced real-time shading techniques
Martin Pernica Function Approximation
Spherical Harmonics
Brief overview of Monte Carlo integration
PDF
Lec 12. Thu ?.5.2022 TBD Invited lecture – TBD

Labs details

The labs have two parts:

  1. there are going to be 4 labs oriented on Direct X 11 and the low-level programming for GPUs (no homeworks),
  2. you will be required to choose a semester project (you can work in pairs) and deliver it.

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

See this document with some suggestions.

Semester Project Grading

You need to gather at least 70 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. Choosing a semester project topic on time – 5 points
  2. Sending report 1 – 10 points
  3. Sending report 2 – 10 points
  4. Sending report 3 – 10 points
  5. Defending your project – up-to 40 points

Semester projects are judged by teachers.

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