Computer Graphics for Computer Games (Summer 2017/18)

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-2018

History: 2016, 2017


Dates (SIS)

Lectures: Tuesdays, 12:20, S6 (we start 20.2.2018)

Labs: Tuesdays, 14:00, SW1 (we start 20.2.2018)


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: 30.5.2018, 9:00, at Jaroslav Křivánek’s Office


Lectures

Lectures Schedule

No. Date Topic Lecturer Content Slides
1. 20.2.2018 Introduction Martin Kahoun Course overview PDF
2. 27.2.2018 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.2018 Game Engine Architecture: Overview Jakub Gemrot Game engine components / layers
Game loops (single/multi processor)
Gameplay system
Development and debugging
PDF
4. 13.3.2018 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.2018 Content Creation II – Procedural Martin Kahoun Gentle introduction to procedural modelling
Procedural shading basics
Examples of use in gaming engines
PDF
6. 27.3.2018 2D Renderer in Factorio Václav Benč Rendering in 2D games PDF
7. 3.4.2018 GTA V + DOOM 4 renderer dissection Martin Kahoun Techniques used in GTA V and DOOM 4 renderers PDF
8. 10.4.2018 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.2018 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
PDF
10. 24.4.2018 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.2018 National holiday
8.5.2018 National holiday
11. 15.5.2018 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
12. 22.5.2018 Music for Games Adam Sporka Designing Sound Engine for Kingdome Come: Deliverance TBD

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 semestral 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 semestral project reports,
  2. successfully deliver and defend a semestral project,
  3. study and present one advanced GPU technique.

Labs Schedule

No. Date Topic Lecturer Content Slides Project Project
points
1. 20.2.2018 Semestral Project Topics Overview Jaroslav Křivánek Overview of topics you can choose for your
semestral project; the list of examples available here.
DirectX 11 – Part I Jakub Gemrot DirectX Pipeline Overview
Opening DirectX Window
PDF C++
(Tut. 01)
2. 27.2.2018 Semestral 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
PDF C++
(Tut. 02-03)
GitHub
(Basic Triangle Example)
3. 6.3.2018 Signing up for a Semestral Project Topic (!) Jaroslav Křivánek Signing-up to a semestral project topic
DirectX 11 – Part III Jakub Gemrot Phong Shading and Texturing PDF GitHub
(Phong Shading Example,
Texturing Example)
4. 13.3.2018 Last chance to change
your semestral project topic (!)
Create own Google Document and
put its link to the semestral 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:
– list current state of the art
– 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
DirectX 11 – Part IV Jakub Gemrot Shadow mapping
5. 20.3.2018 Semestral project topic presentations (!) Jaroslav Křivánek You are supposed to prepare 3-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.2018 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 V Cancelled
3.4.2018 Semestral 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
Direct X 11 – Part V  Jakub Gemrot  Geometry shader, Grass through Billboarding
10.4.2018 Labs cancelled, home office
8. 17.4.2018 Semestral Project Report 2 (!) 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
9. 24.4.2018 Semestral Project Milestone Presentations (!) Jaroslav Křivánek
Jakub Gemrot
Presentations; prepare 10 minutes talk about the
state of your semestral projects. Summarize your
work so far and include screenshots/videos
exemplifying the current state of your work.
 20
1.5.2018 National holiday
8.5.2018 National holiday
10. 15.5.2018 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.
22.5.2018 Semestral Project Report 3 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
11. 25.6.2018
9-11
SW1
Semestral Project Defense (!) Jaroslav Křivánek
Jakub Gemrot
Prepare 10 minutes talk about your semestral
project including its show case. Read about details
in the semestral project defense guide.
 40

Semestral Project Grading

You need to gather at least 75 points for your semestral project in order to pass.

You are gathering points by choosing a semestral project topic, sending reports and defending your semestral project (on time, see the column ‘Project points’ above).

You receive points for:

  1. Choosing a semestral 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

Semestral 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 semestral project defense guide.