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-2019
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 | |
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 |
|
3. | 6.3.2019 | Game Engine Architecture: Overview | Jakub Gemrot | Game engine components / layers Game loops (single/multi processor) Gameplay system Development and debugging |
|
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 |
|
5. | 20.3.2019 | Content Creation II – Procedural | Martin Kahoun | Gentle introduction to procedural modelling Procedural shading basics Examples of use in gaming engines |
|
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 | |
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) |
|
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 |
|
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:
- 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 semester 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 semester project reports,
- successfully deliver and defend a semester project,
- 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. |
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 | |||||
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 | |||||
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:
- Choosing a semester 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
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.