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