Photorealistic graphics (NPGR004)

Code/hours: NPGR004, 2/2 Z + Zk (summer)
Schedule: no English lecture is scheduled, contact Tomas Iser if you are interested in taking a course in English (---)
Lecturer: please contact Tomas Iser if you are interested!
Prerequisites: basic programming course (C#), basic calculus and linear algebra, Introduction to Computer graphics (NPGR003)

The lecture builds upon Introduction to Computer graphics and is intended for serious enthusiasts in this field. It covers modern areas of 3D graphics (basic image synthesis): lighting models and shading, recursive ray tracing including enhanced and accelerated variants, textures, anti-aliasing, and sampling, the use of stochastic approaches in realistic rendering, basics of radiosity method, and modern Monte Carlo methods for lighting computation.

The lecture is supplemented with exercises in the computer laboratory. Exercises focus on practical aspects of the subject, and to obtain credit, it is necessary to work on a semester project. Basic knowledge of .NET programming and the C# language is sufficient.


  • shading and shadows - basic and physically plausible shading models, smooth shading, shadow casting
  • ray-tracing - principles of ray casting, recursive ray tracing, ray vs. object intersections, CSG scene representation
  • anti-aliasing and sampling - principles of anti-aliasing, various sampling methods, adaptive sampling
  • textures - 2D and 3D textures, procedural textures, noise functions
  • distributed ray-tracing (Monte-Carlo) - principle, applications in soft shadows, glossy reflections, motion blur, etc.
  • ray-tracing speedup - bounding volumes, bounding hierarchies, spatial directories, tree-based speedup techniques
  • radiosity - introduction to radiometry, basic principles of radiosity methods
  • Monte-Carlo rendering - unbiased estimators (Monte-Carlo quadrature), usage in physically sound solutions of the global illumination problem, examples of practical algorithms using the Monte-Carlo principle


Copyright (C) 1995-2024 J.Pelikán, last change: 2024-02-07 17:55:52 +0100 (Wed, 07 Feb 2024)