Microfacet BRDF: Theory and Implementation of Basic PBR Materials [Shaders Monthly #9]

In Episode #9 of Shaders Monthly, the Cook-Torrance microfacet BRDF is explained, which is used nowadays to implement physically-based rendering (or "PBR" for short).
In the theoretical part, we discuss a user-friendly parameterization known as Disney's "principled" BRDF or the "Metallic-Roughness-Workflow". Furthermore, we present the theory of the Cook-Torrance microfacet model and introduce its three terms: Fresnel reflectance, the normal distribution function (NDF), and the geometry term.
In the practical part, we implement the Cook-Torrance microfacet BRDF in GLSL.
Here is the code of the created shader:
GSN Composer: www.gsn-lib.org/index.html#pr...
C++: www.mathematik.uni-marburg.de...
Java: www.mathematik.uni-marburg.de...
Documentation for the shader plugin node of the GSN Composer:
gsn-lib.org/docs/nodes/Shader...
Additional lecture slides:
www.uni-marburg.de/en/fb12/re...
00:00 Metallic-Roughness-Workflow (Disney's "principled" BRDF)
04:45 Microfacet BRDF
07:20 Fresnel Reflectance
14:32 Normal Distribution Function (NDF)
16:18 Geometry Term
17:44 Implementation in GLSL
References:
[Cook Torrance 1981] R. L. Cook and K. E. Torrance: A reflectance model for computer graphics. TOG 1(1):7-24, Jan. 1981
[Disney 2012] Brent Burley: Physically Based Shading at Disney, SIGGRAPH 2012 Course: Practical Physically Based Shading in Film and Game Production
[Schlick 1994] Christophe Schlick: An Inexpensive BRDF Model for Physically-Based Rendering. Computer Graphics Forum, 13 (3), 233-246, 1994
[Smith 1967] B. G. Smith: Geometrical shadowing of a random rough surface. IEEE Transactions on Antennas and Propagation 15(5):668-671, Sep. 1967
[Walter et al. 2007] B. Walter, S. R. Marschner, H. Li, K. E. Torrance: Microfacet Models for Refraction through Rough Surfaces. Eurographics Symposium on Rendering, 2007.
Music: Left U Into - Otis McDonald (KZread Audio Library)

Пікірлер: 12

  • @iNkPuNkeR
    @iNkPuNkeR Жыл бұрын

    Thank you so very much. Cannot express enough how helpful your videos are and gsn composer is fantastic as well.

  • @mohamedhashem1938
    @mohamedhashem1938 Жыл бұрын

    Thank you for this wonderful presentation. That was really helpful.

  • @Jarmony
    @Jarmony Жыл бұрын

    Thanks for sharing, a wonderful course!

  • @leicheng4054
    @leicheng4054 Жыл бұрын

    Great presentation, Very helpful!

  • @sdfdsflk8068
    @sdfdsflk8068 Жыл бұрын

    Thank you! This tutorial is very clear and helpful, I like this video very much!☺

  • @Sychonut
    @Sychonut Жыл бұрын

    Very helpful!! Thanks for sharing!

  • @xgamer-od7mb
    @xgamer-od7mb4 ай бұрын

    thank you for sharing

  • @purvakulkarni1824
    @purvakulkarni1824 Жыл бұрын

    How is light scattered for diffuse surfaces with specular term?

  • @gsn-composer

    @gsn-composer

    Жыл бұрын

    For metals, there is only a specular term. For dielectrics, there is a diffuse and a specular part as discussed at 9:51 min:sec in the video. Does this answer your question? If not, let me know.

  • @MrChel24rus

    @MrChel24rus

    Жыл бұрын

    When a light hits a surface, some part goes into material, some gets reflected. The ratio is evaluated with Fresnel formulas, there must be energy conservation, i.e. 0.7 of reflected and 0.3 of transmitted which is 1.0 of incoming light. Opaque materials scatter passed light beam so that the scattered light (in other words rays) exit where the light beam comes in, but with different directions. It's called diffuse light. Scattered means that a light beam is divided into multiple rays because of "particles" of a material that change rays' directions too. If scattered light exits not from the incoming beam area, it's called subsurface scattering. Light beam exiting not from the incoming beam area and is not scattered called transmitted. Note that transmitted light is part of incoming light so the other part is reflected. Metals are exceptions because they restrict passing of light thus all (almost) light is reflected.

  • @DasAntiNaziBroetchen
    @DasAntiNaziBroetchen3 ай бұрын

    Some German snuck into your slide #21.

  • @abdouengland8813
    @abdouengland88132 жыл бұрын

    im here from nonsense i wanna make my fnf mod too