Photorealistic graphics (NPGR004)

Code/hours: NPGR004, 2/2 Z + Zk (summer)
Schedule: Mon 10:40 S4 (Malá Strana)
Lecturer: ??
Prerequisites: basic programming course (C#), basic calculus and linear algebra, Introduction to Computer graphics (NPGR003)

This course extends the Introduction to Computer graphics course and focuses on realistic rendering fundamentals. It covers basic shading and shadows, ray tracing, textures, anti-aliasing and sampling, fast ray-object intersections and speedup techniques, radiosity methods.

Additional labs focus on practical aspects of the subject. Exercises are using .NET programming in C# language. See the GrCis repository.


  • 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 - basic principle, form factors, effective solution of sparse linear systems, hierarchical radiosity


Copyright (C) 1995-2020 J.Pelikán, last change: 2020-02-16 23:10:15 +0100 (Sun, 16 Feb 2020)