Photorealistic Graphics – current information (2022/2023)

All the dates are for the Czech course

Video content on YouTube (Czech language only)

Playlist for the lectures (2021/2022).
Playlist for the labs (2022/2023).

Preliminary lecture plan

Lecture #1 (14. 2. 2023)

Introduction, literature, introduction to Ray-tracing

Course content, additional sources, Ray-tracing principles revisited.
Video: Lecture 1 (2021/22).

Lab #1 (14. 2. 2023)

Credit system, programming environment (C# environment, Git repository RT007, MS Visual Studio), Git repository RT004, ray-tracing example: 048rtmontecarlo-script.
Video: Lab 1 (2022/23) – lab credit, demo, RT004 repository, steps and checkpoints.

Lecture #2 (21. 2. 2023)

Shading, shading interpolation, general BRDF concepts

Shading basics, continuous shading. Definition of BRDF, physics, general BRDF concepts...
Video: Lecture 2 (2021/22).

Lab #2 (21. 2. 2023)

Lab credit details, more about the RT004 repo. See lab page for details.
Video: Lab 2 (2021/22) – more RT004 details, Checkpoint 1

Lecture #3 (28. 2. 2023)

More reflectance models

General BRDF concepts revisited, Fresnel functions, microfacet models: Cook-Torrance, Oren-Nayar, looking for better microfacet distributions D(h) and geometric factors G, Lafortune's lobe model, Schlick's improvements, subsurface scattering...
Video: Lecture 3 (2021/22).

Lab #3 (28. 2. 2023)

Shading interpolation demo (Gouraud, Phong).
Ray-tracer implementation: Camera (primary ray generator), Solid/Shape (ray representation, intersection computation...)
Video: Lab 3 (2022/23) – shading interpolation demo, RT004...

Lecture #4 (7. 3. 2023)

Ray-scene intersections

Ray-scene intersection basics: planar shapes, convex polyhedron, implicit and algebraic surfaces, general and rotational quadrics, sphere (geometric solution), torus, surface of revolution, CSG representation.
Video: Lecture 4 (2021/22).

Lab #4 (7. 3. 2023)

Ray-tracer implementation: Solid/Shape revisited (primary computation vs. additional data = normal vector, TXT coordinates...), BRDF & materials (cooperating objects, materials are associated with scene objects/nodes as attributes...), light sources (point/directional).
image synthesis for ray-based rendering – camera, scene, light sources, computing colors of all pixels in the picture.

Lecture #5 (14. 3. 2023)

Acceleration of R-T

Classification of acceleration techniques, bounding solid, bounding efficiency, bounding-volume-hierarchy (BVH), efficiency and construction, SAH heuristics.
Video: Lecture 5 (2021/22).

Lab #5 (14. 3. 2023)

RT004 future: textures, OOP, scene file-format, acceleration (preprocessing), parallelism...

Lecture #6 (21. 3. 2023)

Acceleration of R-T, Textures

Space dividing methods revisited: grid, 3DDDA, octree, KD-tree, subdivision approaches, adaptive tree pass. [Directional acceleration techniques, cube directory, light buffer, ray coherency, projection plane directory, generalized rays]
Bezier surfaces: Geometric method (Newtonish), De Casteljau subdivision...
Textures in ray-tracing – 2D and 3D textures, table (bitmap) vs. procedural texture, table interpolations. "Bump-texture" (normal map), stochastic textures - introduction.
Video: Lecture 6 (2021/22).

Lab #6 (21. 3. 2023)

More notes on OOP and shadows, recursive ray-tracing (shade() function). New scene example (120° viewing angle).
Texture filtering examples, simple bump-texture example.

Lecture #7 (28. 3. 2023)

Noise functions

Synthetic noise functions (white noise, interpolation and convolution methods), Perlin noise, Lewis sparse convolution, turbulence, application of noise functions in texture synthesis: wood, marble. More applications of noise functions (water surface simulation, flame simulation).
Video: Lecture 7 (2021/22).

Lab #7 (29. 3. 2022)

More usage of noise functions (water surface simulation, flame simulation).

Lecture #8 (4. 4. 2023)

Anti-aliasing and sampling

Basics of sampling theory, anti-aliasing in R-T context, spatial/temporal alias, Anti-aliasing by numeric quadrature, sampling method survey (regular, random sampling, jittering, "N-rooks" sampling, Poisson disc sampling, Mitchell's algorithm, deterministic algorithms).
Video: Lecture 8 (2021/22).

Lab #8 (4. 4. 2023)


Lecture #9 (11. 4. 2023)

Monte-Carlo in Ray-tracing

Adaptive sampling, supersampling criteria, practical examples.
Distributed ray-tracing: glossy reflections and refractions, soft shadows, depth-of-field simulation, motion blur, light dispersion. Monte-Carlo quadrature, examples. Multi-dimensional sampling, hidden sampling.
Video: Lecture 9 (2021/22).

Lab #9 (11. 4. 2023)

Extensions t01-t04.

Lecture #10 (18. 4. 2023)

Introduction to radiometry, radiosity

Basic radiometric terms, flux, radiance, irradiance, solid angles, BRDF, Kajiya's rendering equation. Problem discretization (FEM), system of linear equations for radiosity.
Video: Lecture 10 (2021/22).

Lab #10 (18. 4. 2023)

Extensions t05-t08.

Lecture #11 (25. 4. 2023)

General Monte-Carlo I

Monte Carlo integration: introduction, primary and secondary estimates, variance, stratified sampling, importance sampling, combined estimators, examples
Video: Lecture 11 (2021/22) – Monte Carlo integration (the simplest task)

Lecture #12 (2. 5. 2023)

Monte-Carlo II, Monte-Carlo rendering I

Integral equations, random walks, Russian roulette, next event estimation (NEE)...
Rendering equation revisited (Kajiya), symbolic light transport description (regular expressions)
Video: Lecture 12 (2021/22) – Monte Carlo estimation of Fredholm integral equation system

Lecture #13 (9. 5. 2023)

Monte-Carlo rendering II

Path-tracing (random paths), bidirectional path tracing, NEE, examples.
Video: Lecture 13 (2021/22) – Monte-Carlo rendering, Path tracing, Light tracing, Bidirectional path tracing

Copyright (C) 2001-2023 J.Pelikán, last change: 2023-04-25 07:21:59 +0200 (Tue, 25 Apr 2023)