Contents
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
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 | |
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 |
|
3. | 6.3.2018 | Game Engine Architecture: Overview | Jakub Gemrot | Game engine components / layers Game loops (single/multi processor) Gameplay system Development and debugging |
|
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 |
|
5. | 20.3.2018 | Content Creation II – Procedural | Martin Kahoun | Gentle introduction to procedural modelling Procedural shading basics Examples of use in gaming engines |
|
6. | 27.3.2018 | 2D Renderer in Factorio | Václav Benč | Rendering in 2D games | |
7. | 3.4.2018 | GTA V + DOOM 4 renderer dissection | Martin Kahoun | Techniques used in GTA V and DOOM 4 renderers | |
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) |
|
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 |
|
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 |
|
12. | 22.5.2018 | Music for Games | Adam Sporka | Designing Sound Engine for Kingdome Come: Deliverance |
Labs
The labs have three parts:
- there are going to be 5 labs oriented on Direct X 11 and the low-level programming for GPUs,
- you will be required to choose a semestral project (you can work in pairs) and deliver it (list of example topics available here),
- 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:
- are sending us regular semestral project reports,
- successfully deliver and defend a semestral project,
- 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 |
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 |
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 | 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:
- Choosing a semestral project topic on time – 5 points
- Sending report 1 – 10 points
- Sending report 2 – 10 points
- Milestone presentations – 20 points
- Sending us report 3 – 10 points
- 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.