Computer Graphics for Computer Games (Summer 2020/21)

Contents

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: Videos will appear during Wednesdays

Labs: Wednesday, 17:20, online, let’s meet on Discord > Lecture Hall > Auditorium


Course Exam

There will be an oral examination done during the examination period. We will put a list of exam topics here by the end of teaching period of this semester. Read them to find out what we are going to be asking during the exam.

Exam dates:

3.6.2021 starting 8:30 over Zoom
25.6.2021 starting 8:30 over Zoom


Lectures

Lectures Schedule

No. Date Topic Lecturer Content Slides / Videos
1. 3.3.2021 Introduction Martin Kahoun Course overview PDF, YT
2. 10.3.2021 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, YT
3. 17.3.2021 Game Engine Architecture: Overview Jakub Gemrot Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development, debugging, optimizations
PDF, YT
4. 24.3.2021 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, YT
5. 31.3.2021 Content Creation II – Procedural Martin Kahoun Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
PDF, YT
6. 7.4.2021 GTA V + DOOM 4 renderer dissection Martin Kahoun Techniques used in GTA V and DOOM 4 renderers PDF, YT
7. 14.4.2021 Real-time shadows Martin Kahoun Shadow calculation (shadow mapping,
shadow volume)
Advanced shadow mapping techniques
Soft shadows
Anti-aliasing (if time permits)
PDF, YT
8. 21.4.2021 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, YT
9. 28.4.2021 Physically-based Rendering – Part I
Preliminaries
Jakub Gemrot Intro to radiometry, photometry, colorimetry
Radiance, luminance, color spaces, chromacity diagram
sRGB, brightness and gamma correction
Light-matter interactions, BRDF, the reflection equation
PDFYT
(2020)
10. 5.4.2021 Physically-based Rendering – Part II Jakub Gemrot
and
Jaroslav Křivánek
(in memoriam)
Reflection models introduction
Lambertian diffuse, Fresnel reflection
Environment maps
Spherical Harmonics
PDF
(2021)

Older:
PDF1
PDF2
(
2019)

11. 12.5.2021 Physically-based Rendering – Part III
Advanced real-time shading techniques
Jaroslav Křivánek
(in memoriam)
Brief overview of Monte Carlo integration
Image-based lighting
Prefiltered environment maps
Filtered importance sampling
Basic global illumination & path-tracing
Photon mapping
PDF
(
2019)
12. 19.5.2021 Cancelled

Labs

The labs have three parts:

  1. there are going to be 5 labs oriented on Direct X 11 and the low-level programming for GPUs,
  2. you will be required to choose a semester project (you can work in pairs) and deliver it
  3. you will be required to select a paper, investigate a technique described in there, compile a presentation explaining the technique and present it.

You will receive credits for labs if you:

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

Semester Project Topics

See this document with some suggestions.

Labs Schedule

No. Date Topic Lecturer Content Slides Project Project
points
1. 3.3.2021 Semester Project Topics Overview Jakub Gemrot Overview of topics you can choose for your
semester project; the list of examples available here.
2. 10.3.2021 Semester Project Topics Consultations (!) Jakub Gemrot BE SURE TO COME WITH A TOPIC IN MIND!
Q&A about topics you find interesting
DirectX 11 – Part I Jakub Gemrot DirectX Pipeline Overview
Opening DirectX Window
Rendering a triangle
PDF
3. 17.3.2021 Signing up for a Semester Project Topic (!) Jakub Gemrot This is your last chance to pick/change the topic.

Prepare an online document that will be summarizing
what you are going to deliver:
– describe the overall goal for your work
– describe the target result
– list current state of the art
– define the point 0 (the initial state of anything you will start from)
– technologies/libraries/frameworks you will be using
– list resources you want to base your wok on (or start with)
– list of features you aim to implement in the context of this project
– list of steps (i.e. milestones) that you plan to follow / go through

Be sure to link your online document with Scoring sheet
via commenting on an appropriate cell, read directions here.

DirectX 11 – Part II Jakub Gemrot Rendering a triangle
Custom DX11 Rendering Framework
 PDF
4. 24.3.2021 Semester project topic presentations (!) Jakub Gemrot You are supposed to prepare 5 minutes talk
about the topic you have chosen:
– describe current state of the art
– describe resources you want to base your wok on
(or to start with)
– describe of features you aim to implement
in the context of this projectDo not forget to link your slides
into the Scoring sheet (via commenting on
an appropriate cell).
5
DirectX 11 – Part III Jakub Gemrot PDF, MP4
5. 31.3.2021 DirectX 11 – Part IV Texturing
Geometry shader, Grass through Billboarding
SSAO
PDF 1, PDF 2
7.4.2021 Labs cancelled, home office
6. 14.4.2021 Semester Project Report 1 (!) Jakub Gemrot  Send us a report on the progress you have done
on your semestral projects. 1-2 A4 reporting on:
what you have done so far, what challenges you
have faced, what sources have you utilized/read,
the best screenshot(s) exemplifying your work so
far.You submit your report by providing the link
within the Scoring sheet (via commenting on
an appropriate cell).
10
21.4.2021 Easter Holiday
7. 28.4.2021 Semester Project Milestone Presentations (!)  Jakub Gemrot  Presentations; prepare 12 minutes talk about
the state of your semester projects.
Summarize your work so far and include screenshots/videos
exemplifying the current state of your work.
15
5.5.2021 Labs cancelled, home office
12.5.2021 Labs cancelled, home office
8. 19.5.2021 Semester Project Report 2 (!) Jakub Gemrot Send us a report on the progress you have done
on your semestral projects. 1-2 A4 reporting on:
what you have done so far, what challenges you
have faced, what sources have you utilized/read,
the best screenshot(s) exemplifying your work so
far. You submit your report by providing the link
within the Scoring sheet (via commenting on
an appropriate cell).
 10
26.5.2021 Labs cancelled, home office
9. 2.6.2021 Semester Project Defense – Early birds (!) Jakub Gemrot Prepare 15 minutes talk about your semester
project including its show case. Read about details
in the semester project defense guide.
 40
10. 16.6.2021 Semester Project Defense – Final birds (!) Jakub Gemrot Prepare 15 minutes talk about your semester
project including its show case. Read about details
in the semester project defense guide.
 40

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, see the column ‘Project points’ above).

You receive points for:

  1. Choosing a semester project topic on time – 5 points
  2. Sending report 1 – 10 points
  3. Milestone presentations – 15 points
  4. Sending us report 2 – 10 points
  5. Defending your project – up-to 40 points

Semester projects are judged both by teachers and you (students), resulting score from the defense is an average of scores you receive from your audience. Read about the details in the semester project defense guide.

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