In the SIGGRAPH course:

BURLEY B.: Physically Based Shading at Disney, SIGGRAPH 2012 Course: Practical Physically Based Shading in Film and Game Production, 2012.

it is mentioned that some BRDF models include a diffuse Fresnel factor such as:

$$(1-F(\theta_l)) (1-F(\theta_d)).$$

The Disney BRDF itself uses the following diffuse BRDF component (using Sclick's Fresnel approximation):

$$f_d = \frac{\textrm{c_base}}{\pi} (1 + (F_{\textrm{D90}} - 1)(1-\cos\theta_l)^5) (1 + (F_{\textrm{D90}} - 1)(1-\cos\theta_v)^5),$$


$$F_{\textrm{D90}} = 0.5 + 2 \text{roughness} \cos^2\theta_d. $$

Where does this come from?

My attempt...

If I evaluate $(1-F(\theta_l)) (1-F(\theta_v))$ (instead of $(1-F(\theta_l)) (1-F(\theta_d))$?) with Schlick's approximation, we get:

$$\left(1-(F_0 + (1-F_0)(1-\cos\theta_l)^5)\right) \left(1-(F_0 + (1-F_0)(1-\cos\theta_v)^5)\right)$$ $$\left(1-F_0 + (F_0-1)(1-\cos\theta_l)^5\right) \left(1-F_0 + (F_0-1)(1-\cos\theta_v)^5\right)$$

If we substitute $F_{\textrm{D90}} = F_0$, we get:

$$\left(1-F_{\textrm{D90}} + (F_{\textrm{D90}}-1)(1-\cos\theta_l)^5\right) \left(1-F_{\textrm{D90}} + (F_{\textrm{D90}}-1)(1-\cos\theta_v)^5\right)$$

This looks similar except for the 2x $-F_{\textrm{D90}}$? Is my reasoning completely wrong or where do I make mistakes? Or am I not aware of some further (common) approximations?

  • 5
    $\begingroup$ Remember that disney's diffuse BRDF is not a physical correct one. They are fully aware that their BRDF is not energy conserving, but they found that it looked better (probably because it makes up for interreflections) and their artists liked it. Also note, that it is based on a physical BRDF model, which takes an integral over all microfacet normals (for this, see [Earl Hammon Jr's Diffuse GGX Lighting Slides][1]). That integral is not solvable, thus it is only an approximation. [1]: twvideo01.ubm-us.net/o1/vault/gdc2017/Presentations/… $\endgroup$
    – Tare
    Commented Oct 13, 2017 at 8:41


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.