Importance Sampling: Image-based Lighting of a Lambertian Diffuse BRDF [Shaders Monthly #10]

In Episode #10 of Shaders Monthly, we talk about importance sampling. Importance sampling is an essential tool in computer graphics. As a first simple example, we discuss in this episode how importance sampling can be used for real-time image-based lighting if the material is Lambertian diffuse. In the practical part, we implement two shaders in GLSL: 1) PrefilterDiffuse GSN Composer: https://www.gsn-lib.org/index.html#pr... C++: https://www.mathematik.uni-marburg.de... Java: https://www.mathematik.uni-marburg.de... 2) IBLDiffuse GSN Composer: https://www.gsn-lib.org/index.html#pr... C++: https://www.mathematik.uni-marburg.de... Java: https://www.mathematik.uni-marburg.de... Documentation for the shader plugin node of the GSN Composer: https://gsn-lib.org/docs/nodes/Shader... Additional lecture slides: https://www.uni-marburg.de/en/fb12/re... 00:00 Introduction 02:27 Importance Sampling 07:14 Inverse Transform Sampling 11:06 Image-based Lighting of a Lambertian Diffuse BRDF 17:03 Shader 1: Pre-filtered Environment Map 35:19 Shader 2: Image-based Lighting Source for all HDR environment maps that are used in this video: https://polyhaven.com/hdris