Photorealistic Graphics – current information (2024/2025)

All the dates are for the Czech course

Video content on YouTube (Czech language only)

Playlist for the lectures (2021/2022).
Old playlist for the labs (2023/24) (Note: some organizational and technical details may have changed)

Preliminary lecture plan

Lecture #1 (20. 2. 2026)

Introduction, literature, introduction to Ray-tracing

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

Lab #1 (20. 2. 2025)

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

Lecture #2 (27. 2. 2025)

Shading, shading interpolation, general BRDF concepts

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

Lab #2 (27. 2. 2025)

Lab credit details, more about the RT004 repo. See lab page for details.
Video: Lab 2 (2023/24) – shading interpolation demo, more RT004 details: Checkpoint 2 I

Lecture #3 (6. 3. 2025)

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 (6. 3. 2025)

Shading interpolation demo (Gouraud, Phong).
Ray-tracer implementation: Camera (primary ray generator), Solid/Shape (ray representation, intersection computation...)
Video: Lab 3 (2023/24) – RT004: Checkpoint 2 II

Lecture #4 (13. 3. 2025)

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. Bezier surfaces: Geometric method (Newtonish), De Casteljau subdivision...
Video: Lecture 4 (2021/22).

Lab #4 (13. 3. 2025)

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).
Video: Lab 4 (2023/24) – RT004: intersections, attributes...

Lecture #5 (20. 3. 2025)

Acceleration of R-T

Classification of acceleration techniques, bounding solid, bounding efficiency, bounding-volume-hierarchy (BVH), efficiency and construction, SAH heuristics. Space dividing methods: grid, 3DDDA, octree, KD-tree, subdivision approaches, adaptive tree pass. Briefly: directional acceleration techniques, cube directory, light buffer, ray coherency, projection plane directory, generalized rays. Ray-tracing on GPU, RTX.
Video: Lecture 5 (2021/22).

Lab #5 (20. 3. 2025)

Intersections ray vs. triangle, ray vs. AABB box...

Lecture #6 (27. 3. 2025)

Textures

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 (27. 3. 2025)

Hierarchy, atttributes, instancing, acceleration. More notes on OOP and shadows, recursive ray-tracing (shade() function). New scene example (120° viewing angle). Texture filtering examples, simple bump-texture example. Acceleration structures in scene graph (revisited).
Video: Lab 5 (2023/24) – RT004:
Lab 6 (2023/24) – RT004: acceleration integration revisited, intersection algorithms (AABB and triangle).

Lecture #7 (3. 4. 2025)

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 (3. 4. 2025)

Perlin noise demo, scene graph, hierarchical transformations, "Flat" graph storage
Video: Lab 7 (2023/24) – Perlin noise, RT004: scene graph, hierarchival transformations, flat storage...

Lecture #8 (10. 4. 2025)

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 (10. 4. 2025)

Anti-aliasing and sampling examples?


Copyright (C) 2001-2025 J.Pelikán, last change: 2025-03-26 23:21:43 +0100 (Wed, 26 Mar 2025)