Computer Graphics for Computer Games (Summer 2023/24)

DRAFT

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

Labs: “Thursdays, 10:40”, video only – we will host one event for presentations of your projects at the end of the semester


How to pass the course

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 22.2.2024 Physical
(S4)
Introduction Tomáš Iser Course overview PDF
Lab 1. Thu 22.2.2024 Discord
Info
Instructions how to form teams
will be shared on Discord
Jakub Gemrot
Lec 2. Thu 29.2.2024 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
PDF
Lab 2. Thu 29.2.2024 Video DirectX 11 Part 1 Jakub Gemrot PDF (2022)
MP4 (2022)
Lec 3. Thu 7.3.2024 Online
(Discord)
Game Engine Architecture: Overview Martin Pernica Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development, debugging, optimizations
PDF
Lab 3. Thu 7.3.2024 Video DirectX 11 Part 2
Deadline for: Teams + project description (GDrive)
Jakub Gemrot PDF (2022)
MP4 (2022)
 Lec 4. Thu 14.3.2024 Physical
(S4)
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 4. Thu 14.3.2024 Video DirectX 11 Part 3 Jakub Gemrot PDF (2022)
MP4 (2022)
 Lec 5. Thu 21.3.2024 Physical
(S4)
Content Creation II – Procedural Martin Kahoun Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
PDF
Lab 5. Thu 21.3.2024 Video DirectX 11 Part 4 Jakub Gemrot PDF -1- -2- (2022)
MP4 (2022)
Lec 6. Thu 28.3.2024 Online
(Discord)
GTA V + DOOM 4 renderer dissection Martin Pernica Techniques used in GTA V and DOOM 4 renderers TBD
Lab 6. Mon 28.3.2024 Online DirectX 11 Part 5
Deadline for: Semester project report 1 (GDrive)
Jakub Gemrot PDF (2022)
MP4 (2022) (incomplete)
(2022)Lec 7. Thu 4.4.2024 Physical
(S4)
Real-time shadows Tomáš Iser Shadow calculation (shadow mapping,
shadow volume)
Advanced shadow mapping techniques
Soft shadows
Anti-aliasing (if time permits)
PDF
Lec 8. Thu 11.4.2024 Physical
(S4)
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
Lec 9. Thu 18.4.2024 Physical
(S4)
Physically-based Rendering – Part I
Preliminaries
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 10. Thu 25.4.2024 Physical
(S4)
Physically-based Rendering – Part II Tomáš Iser Reflection models introduction
Lambertian diffuse, Fresnel reflection
Environment maps
Spherical Harmonics
Thu 25.4.2024 Deadline for: Semester project report 2 (GDrive) Jakub Gemrot
Lec 11. Fri 2.5.2024 Pysical
(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
Fri 31.5.2024
(pending)
TBA Final project presentations (GDrive)

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 form a team of 3 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

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.

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