Gurantor department | Department of Computer Science | Credits | 4 |

Subject guarantor | Ing. Tomáš Fabián, Ph.D. | Subject version guarantor | Ing. Tomáš Fabián, Ph.D. |

Study level | undergraduate or graduate | Requirement | Optional |

Year | 1 | Semester | winter |

Study language | English | ||

Year of introduction | 2015/2016 | Year of cancellation | |

Intended for the faculties | FEI | Intended for study types | Follow-up Master |

Instruction secured by | |||
---|---|---|---|

Login | Name | Tuitor | Teacher giving lectures |

FAB038 | Ing. Tomáš Fabián, Ph.D. |

Extent of instruction for forms of study | ||
---|---|---|

Form of study | Way of compl. | Extent |

Full-time | Credit and Examination | 2+2 |

Part-time | Credit and Examination | 10+0 |

The aim of the course is to deepen the basic knowledge of computer graphics, with which the student could get acquainted in the bachelor's study. After completing the course, the student will understand the basic principles of modern methods of photorealistic scene rendering. Selected methods will be able to describe, implement and create applications for rendering images based on the physical principles of world propagation, with emphasis on global methods.
The graduate of the course will able to:
- define the basic structures and operations used in computer graphics with a focus on image synthesis using ray tracing techniques,
- orientation in algorithms for recursive ray tracing,
- formulate the difference between local and global methods of lighting calculation,
- solve the rendering equation by Monte Carlo method,
- propose techniques to accelerate the convergence of stochastic methods,
- design acceleration structures to accelerate the passage of the beam through the scene,
- specify the main optical properties of selected types of materials,
- create powerful parallelized applications for photorealistic image synthesis.

Lectures

Tutorials

The course is a free continuation of the introductory bachelor's course Basics of Computer Graphics and covers the main principles of photorealistic image synthesis. The following topics are discussed: ray tracing method, illumination models, light reflection models from the surface (BRDF), rendering equation, basics of Monte Carlo method for simulating light transport, ensuring physical correctness of results, accelerating calculation, image smoothing and description of basic optical material models. The course includes exercises, during which the topics discussed in lectures are practically implemented in the form of implementation of credit programs. Theoretical knowledge gained during discussion of partial tasks serve as a basis for practical implementation of specific examples during exercises. Exercises closely correspond to the lectures and the implementation of the aforementioned topics in the C++ language environment is assumed.

[1] Pharr, M., Jakob, W., Humphreys, G.: Physically Based Rendering, Third Edition: From Theory to Implementation, Morgan Kaufmann, 2016, 1266 pages, ISBN 978-0128006450.
[2] Sojka, E.: Počítačová grafika II: metody a nástroje pro zobrazování 3D scén, VŠB-TU Ostrava, 2003 (ISBN 80-248-0293-7).
[3] Sojka, E., Němec, M., Fabián, T.: Matematické základy počítačové grafiky, VŠB-TU Ostrava, 2011.

[1] Shirley, P., Morley, R. K.: Realistic Ray Tracing, Second Edition, AK Peters, 2003, 235 pages, ISBN 978-1568814612.
[2] Akenine-Moller, T., Haines, E., Hoffman, N.: Real-Time Rendering, Third Edition, AK Peters, 2008, 1045 pages, ISBN 978-1568814247.
[3] Dutré, P.: Global Illumination Compendium, 2003, 68 pages.
[4] Ryer, A. D.: The Light Measurement Handbook, 1997, 64 pages.

The condition for granting the credits is the submission of individual assignments from the exercises. The functionality of individual parts will be presented within the exercise in the credit week. The condition for awarding the credits is to master these tasks with a point gain of at least 20 points out of 45 possible. In particular, the degree of understanding of the problem, the correctness of the implementation of the algorithm, its functionality and the visual level of the presented results are evaluated. Excellent orientation in the submitted source code is assumed.
The course is completed by an oral exam with written preparation.

It is expected that students will have knowledge of mathematics and programming at the level taught during their undergraduate studies.

Subject has no prerequisities.

Subject has no co-requisities.

Lectures:
1. Physical and mathematical basics of image synthesis (light, radiometric and photometric quantities, color systems).
2. Camera model, depth of field, affine spaces and transformations, matrix notation, change of basis, coordinate systems.
3. Ray tracing method, calculation of ray intersections with geometrical objects.
4. Basic types of materials, models of light reflection, textures, BRDF.
5. Microsurface models (Cook-Torrance, Oren-Nayar), general BxDF.
6. Supersampling and anti-aliasing, gamma correction.
7. Acceleration methods, acceleration data structures and parallelization.
8. Rendering equation (Kajiya) and its solution using Monte Carlo methods.
9. Path tracing, variance reduction techniques (importance sampling, russian roulette, next event estimation, direct lighting).
10. Light sources (sampling, image based lighting)
11. Bi-directional path tracing, photon mapping.
12. Spectral tracing, tone mapping.
13. Other methods of photorealistic rendering of scenes.
14. Other methods of modeling and displaying solids (boundary models, CSG, distance function).
Practical exercise on computer labs:
1. Data loading and representation, used libraries (e.g. Embree, OptiX).
2. Implementation of a simple camera.
3. Basic ray casting (A. Appel).
4. Implementation of diffusion materials and Phong's illumination model.
5. Metal surfaces (reflection) and dielectric materials (refraction and attenuation), Whitted's recursive ray tracing.
6. Supersampling and anti-aliasing, gamma correction.
7. Acceleration of calculation.
8. Basic path tracing.
9. Acceleration of convergence, implementation of selected BRDF.
10. Sampling of light sources.
11. Complete the implementation of the basic path tracer.
12. Improving the graphical output of the ray tracer (tone mapping).
13. Reserve for completing individual tasks.
14. Checking the assigned tasks.
The exercises solve specific tasks from the discussed area. The implementation language is C++.

Task name | Type of task | Max. number of points
(act. for subtasks) | Min. number of points |
---|---|---|---|

Credit and Examination | Credit and Examination | 100 (100) | 51 |

Credit | Credit | 45 | 20 |

Examination | Examination | 55 | 6 |

Show history

Academic year | Programme | Field of study | Spec. | Zaměření | Form | Study language | Tut. centre | Year | W | S | Type of duty | |
---|---|---|---|---|---|---|---|---|---|---|---|---|

2021/2022 | (N0688A140015) Industry 4.0 | P | English | Ostrava | 1 | Optional | study plan | |||||

2021/2022 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2021/2022 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2020/2021 | (N0688A140015) Industry 4.0 | P | English | Ostrava | 1 | Optional | study plan | |||||

2020/2021 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2020/2021 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2019/2020 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2019/2020 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2019/2020 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | K | English | Ostrava | 1 | Optional | study plan | ||||

2019/2020 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | K | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2018/2019 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2018/2019 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2018/2019 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | K | English | Ostrava | 1 | Optional | study plan | ||||

2018/2019 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | K | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2017/2018 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2017/2018 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | K | English | Ostrava | 1 | Optional | study plan | ||||

2017/2018 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2017/2018 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | K | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2016/2017 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2016/2017 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | K | English | Ostrava | 1 | Optional | study plan | ||||

2016/2017 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2016/2017 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | K | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2015/2016 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | P | English | Ostrava | 1 | Optional | study plan | ||||

2015/2016 | (N2647) Information and Communication Technology | (1103T031) Computational Mathematics | K | English | Ostrava | 1 | Optional | study plan | ||||

2015/2016 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | P | English | Ostrava | 1 | Choice-compulsory | study plan | ||||

2015/2016 | (N2647) Information and Communication Technology | (2612T025) Computer Science and Technology | K | English | Ostrava | 1 | Choice-compulsory | study plan |

Block name | Academic year | Form of study | Study language | Year | W | S | Type of block | Block owner |
---|