Computer Graphics for Computer Games (Summer 2018/19)

This is an intermediate course about computer graphics for computer games. Students are taught about advanced algorithms for real-time graphics and computer games in general. Labs are project oriented with some focus on DirectX. The course is taught at MFF UK as NPGR033.

Permalink: http://bit.ly/mff-uk-cgcg-2019

History: 201820172016


Dates (SIS)

Lectures: Wednesdays, 15:40, S5 (we start 20.2.2019)

Labs: Tuesdays, 9:00, SW1 (we start 20.2.2019)


Course Exam

There will be an oral examination done during the examination period. We have compiled a list of exam topics for you. Read them to find out what we are going to be asking during the exam.

Exam date: 19.6.2019 10:00, in front of Jaroslav Křivánek’s Office (4th floor, room 406)


Lectures

Lectures Schedule

No. Date Topic Lecturer Content Slides
1. 20.2.2019 Introduction Martin Kahoun Course overview PDF
2. 27.2.2019 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
3. 6.3.2019 Game Engine Architecture: Overview Jakub Gemrot Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development and debugging
PDF
4. 13.3.2019 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
5. 20.3.2019 Content Creation II – Procedural Martin Kahoun Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
PDF
6. 27.3.2019 Cancelled
7. 3.4.2019 GTA V + DOOM 4 renderer dissection Martin Kahoun Techniques used in GTA V and DOOM 4 renderers PDF
8. 10.4.2019 Real-time shadows Martin Kahoun Shadow calculation (shadow mapping,
shadow volume)
Advanced shadow mapping techniques
Soft shadows
Anti-aliasing (if time permits)
PDF
9. 17.4.2019 Rendering I: Fundamentals of advanced real-time shading Jaroslav Křivánek Intro to radiometry: radiance, BRDF,
and the reflection equation
Brief overview of Monte Carlo integration
Image-based lighting
Prefiltered environment maps
Filtered importance sampling
Basic global illumination & path-tracing
Photon mapping
PDF
10. 24.4.2019 Rendering II: Real-time image-based lighting Jaroslav Křivánek Function approximation
Spherical harmonics
SH irradiance environment maps
Precomputed GI, lightmaps
Radiosity normal mapping
PDF1
PDF2
1.5.2019 National holiday
8.5.2019 National holiday
11. 15.5.2019 Rendering III: Advanced real-time shading techniques Jaroslav Křivánek Real-time dynamic GI techniques: point-based GI,
propagation volumes
Screen space techniques
(deferred shading, ambient occlusion)
Screen-space real-time subsurface scattering
Anti-aliasing
PDF 1
PDF 2
12. 22.5.2019 Music for Games Adam Sporka Designing Sound Engine for Kingdome Come: Deliverance PDF (2018)

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 (list of example topics available here),
  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. successfully deliver and defend a semester project,
  3. study and present one advanced GPU technique.

Labs Schedule

No. Date Topic Lecturer Content Slides Project Project
points
1. 20.2.2019 Semester Project Topics Overview Jaroslav Křivánek Overview of topics you can choose for your
semester project; the list of examples available here.
PDF ZIP
DirectX 11 – Part I Jakub Gemrot DirectX Pipeline Overview
Opening DirectX Window
2. 27.2.2019 Semester Project Topics Consultations Jaroslav Křivánek Q&A about topics you find interesting
DirectX 11 – Part II Jakub Gemrot Rendering a triangle
Custom DX11 Rendering Framework
Phong Shading
PDF 1
PDF 2
GIT
3. 6.3.2019 Signing up for a Semester Project Topic (!) Jaroslav Křivánek Signing-up to a semester project topic
DirectX 11 – Part III Jakub Gemrot Texturing PDF
4. 13.3.2019 Last chance to change
your semester project topic (!)Create own online (Google/OneDrive/…)
Document and put its link
to the semester project topics
document. (!)
Jaroslav Křivánek This is your last chance to change the topic
you picked previous week. You are supposed to start
gathering resources you want to use for your work:
– 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
5. 20.3.2019 Semester project topic presentations (!) Jaroslav Křivánek
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 project
 5
6. 27.3.2019 Paper selection (!) You have to submit the name of paper and
its source you have selected for studying.
Send us your decision via email to:
jakub.gemrot@gmail.com, jkrivanek@gmail.com
DirectX 11 – Part IV Jakub Gemrot Geometry shader, Grass through Billboarding, SSAO PDF
3.4.2019 Semester Project Report 1 (!) Jaroslav Křivánek
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.Send your report via email to:
jakub.gemrot@gmail.com, jkrivanek@gmail.com
 10
Labs cancelled, home office
10.4.2018 Labs cancelled, home office
7. 17.4.2019 Semester Project Report 2 (!) Jaroslav Křivánek
Jakub Gemrot
Send us a report on the progress you have done
on your semester 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.Send your report via email to:
jakub.gemrot@gmail.com, jkrivanek@gmail.com
 10
Labs cancelled, home office
8. 24.4.2019 Semester Project Milestone Presentations (!) Jaroslav Křivánek
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.
 20
1.5.2019 National holiday
8.5.2019 National holiday
9. 22.5.2019 Paper Presentations (!) Jaroslav Křivánek
Jakub Gemrot
Presentation of papers you have chosen to study;
prepare 10 minutes talk. It’s fine to use videos
and/or presentations of other people, e.g., who
invented the technique you will be talking about.
Cancelled Semester Project Report 3 Jaroslav Křivánek
Jakub Gemrot
Send us a report on the progress you have done
on your semester 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.Send your report via email to:
jakub.gemrot@gmail.com, jkrivanek@gmail.com
 10
No more labs, continue working
on your semester project at home.
11. 12.6.2018
10:00
SW1
Semester Project Defense (!) Jaroslav Křivánek
Jakub Gemrot
Prepare 17 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 75 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. Sending report 2 – 10 points
  4. Milestone presentations – 20 points
  5. Sending us report 3 – 10 points
  6. 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