Photorealistic Graphics – current information (2019/2020)

English lecture: ?? MONDAY AT 10:40 in S4 room (Malá Strana) ??
Czech lecture: every THURSDAY AT 10:40 in S4 room (Malá Strana)

Labs: every THURSDAY AT 12:20 in the SW1 lab (ground floor, Rotunda)

Lecture plan

Lecture #1 (20. 2. 2020)

Introduction, literature, ray-tracing revisited

Course content, additional sources, shading basics (Phong reflectance model, Gouraud and Phong shading), ray-tracing basics

Lab #1 (20. 2. 2020)

Credit system, tasks, programming environment (C# environment, SVN/Git repository grcis, MS Visual Studio), GrCis repository, ray-tracing example: 048rtmontecarlo-script.
Ray-based renderer architecture I (interfaces and core classes: RayScene, IIntersectable, IImageFunction, IRenderer, ISolid, ..)
Ray-tracing in GrCis (PDF slides)

Lecture #2 (27. 2. 2020)

More reflectance models

Phong shading revisited, shading interpolation, general BRDF concepts

Lab #2 (27. 2. 2020)

Ray-based renderer architecture I – IImageFunction, ICamera, ITimeDependent, Intersection, ISolid. CS-script for scene definitions – the 048rtmontecarlo-script project

Concept of the lab – semester project, credit system. See details here.

Lecture #3 (5. 3. 2020)

Reflectance models

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, ...

Lab #3 (5. 3. 2020)

Ray-based renderer architecture II IReflectanceModel, IMaterial, Intersection, ISolid, ICamera [revisited], CS-script for scene definitions (the 048rtmontecarlo-script project)

Lecture #4 (12. 3. 2020)

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. Spline surfaces, Bezier surfaces: subdivision, Newtonian iteration.

08-RayVsSceneIntersections – Czech notes
09-PointVsPolygon – Czech notes
10-BezierSurfaceIntersection – Czech notes

Lecture #5 (19. 3. 2020)

Acceleration of R-T

Classification of acceleration techniques, bounding solid, bounding efficiency, bounding-volume-hierarchy (BVH), efficiency and construction, space dividing methods: grid, 3DDDA, octree, KD-tree, subdivision approaches, adaptive tree pass. [Directional acceleration techniques, cube directory, light buffer, ray coherency, projection plane directory, generalized rays]

11-AcceleratingRayTracing – Czech notes

Lecture #6 (26. 3. – 2. 4. 2020)

Textures and noise functions

Textures in ray-tracing – 2D and 3D textures, table (bitmap) vs. procedural texture, table interpolations. "Bump-texture" (normal map), stochastic textures - introduction, 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).

12-Textures – Czech notes

Lecture #7 (2. – 9. 4. 2020)

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), adaptive sampling, supersampling criteria, practical examples

13-Sampling – Czech notes

Lecture #8 (16. 4. 2020)

Monte-Carlo in Ray-tracing

Distributed ray-tracing: glossy reflections and refractions, soft shadows, depth-of-foeld simulation, motion blur, light dispersion. Monte-Carlo quadrature, examples.

14-DistributedRayTracing – Czech notes

Lecture #9 (23. – 30. 4. 2020)

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.

Lecture #10 (30. 4. – 7. 5. 2020)

General Monte Carlo

Monte-Carlo quadrature: introduction, primary, secondary estimate, variance, stratified sampling, importance sampling, combined estimators, ..

Lecture #11 (14. – 21. 5. 2020)

Monte-Carlo rendering I

Random walks, Russian roulette, next-event estimation (NEE). Rendering equation revisited (Kajiya), path-tracing, bidirectional path-tracing, examples, [Duality in rendering theory, dual radiosity example].

Lecture #12 (28. 5. – 4. 6. 2020)

Monte-Carlo rendering II

The rest of MC rendering: Photon-mapping...

Copyright (C) 2001-2020 J.Pelikán, last change: 2020-05-11 05:48:18 +0200 (Mon, 11 May 2020)