Coding Labs :: Physically Based Rendering

Coding Labs :: Physically Based Rendering - Cookâ€"Torrance

This article dives deeper in D/G/F, but lacks an overview of how light gets splitted into two parts: diffuse and specular, which is explained better in LearnOpenGL PBR Theory. %points oriented towards $h$ and %microfacets oriented that way are two different things! In LearnOpenGL, $F_0$ is replaced (simplified) by $0.04$ which is a precomputed average base reflectivity value.

Note: why do we have $k_s$ here? Shouldn't it be included in $F$? [solved]

• At the end of the article, it is mentioned $k_s$ is in $F$! For the diffuse part, we can apply the same precomputing technique as in the previous article. But for the specular part since we now have $w_i$ and $w_o$, it is difficult to store the precomputed integral result.

Importance Sampling:

How to estimate $\theta_s$ and $\phi_s$? The $pdf$ in Monte Carlo estimator is

$$p(h, n, a) = D(h, n, a)|h\cdot{n}|$$

by doing this, many terms in the below formula get cancelled out!

• $w_i\cdot{n}$