Course Summary
How real-time CGI actually gets computed. Covers the modern graphics pipeline, GPU hardware, and advanced techniques like global illumination and hardware raytracing.
Lecture Topics
- (y-) 01_introduction: Why Real-Time Graphics? Course overview and lab exercises.
- (y-) 02_graphics_pipeline: GPU history, architecture, and the “Shoe Factory” analogy.
- (y-) 03_gpu_architecture_parallelism: Detailed pipeline stages and modern API vs. OpenGL.
- (y-) 04_cg_primer: Math foundations, transformations, and shading models.
- (y-) 05_shading_models: BRDFs, Lambert, Phong, Blinn-Phong, Cook-Torrance, Disney BRDF.
- (y-) 06_textures: Texture mapping, filtering, multipass rendering, environment mapping, and bump/normal mapping.
- (y-) 07_deferred_shading: Deferred rendering, G-Buffers, deferred lighting, light volumes, visibility buffers, and normal encoding.
- (y-) 08_special_effects: Postprocessing pipeline, separable Gaussian, bloom, depth of field, bilateral filters, edge detection, anti-aliasing (SSAA/MSAA/MLAA/TAA), motion blur, lens flare, billboards, particle systems.
- (y-) 09_semi_global_illumination: Semi-global illumination, reflections, transparency/order-independent transparency, shadow techniques, and ambient occlusion.
- (y-) 10_global_illumination: Real-time global illumination, radiosity, photon mapping, instant radiosity, reflective shadow maps, illumination probes, PRT, hybrid caching.
- (y-) 11_gpu_raytracing: GPU raytracing pipeline, RT cores, the five ray shader types, ray payload/attributes, hybrid rendering, raytraced shadows/AO/reflections, denoising.
- (y-) 12_hdr: High dynamic range rendering, tone mapping operators, exposure and the human visual system, bloom, and HDR display output.
- (y-) 13_lod: Levels of detail, static/reactive/predictive selection, switching (popping, blending, geomorphing), simplification operators, quadric error metric, continuous/view-dependent/terrain LOD.
- (y-) 14_visibility: Output-sensitive rendering, frustum/backface/occlusion culling, BVH, PVS classification, occluder fusion, cells and portals, hierarchical depth buffer, region visibility, virtual occluders.
- (y-) 15_virtual_textures: Clipmaps, virtual memory for textures, tiled virtual textures, tile fault pass, geometry clipmaps, and Nanite’s combination of all acceleration techniques.
- Compute Shaders: General-purpose computation on the GPU.
Exercises
- Basic Rendering: Indexed buffers, quads, rotating cubes, and texturing.
- Screen-Space Post-Processing: Bilateral upscaling and anti-aliasing techniques.
- Particle System: Billboards, GPU instancing, and compute shaders.
- Advanced Topics: Hardware Raytracing or Screen-Space Ambient Occlusion (SSAO).
Resources
- Main Book: Real-Time Rendering, 4th Edition by Tomas Akenine-Möller et al.
- Engine: DiligentEngine: cross-platform rendering engine.
- Lecturer: Dieter Schmalstieg