- Ambient 就是一个全局光照的 hack
- In RTR, people seek simple and fast solutions to one bounce indirect illumination.
Reflective Shadow Mapping (RSM)
基本思想:
Shadow Map 可以告诉我们这些信息,对上面所有的点对 $p$ 点的贡献求和。上面的任何一个像素,对应一个小片(small surface patch / like an area light)。
Limit:
- Exact outgoing radiance for each pixel is only for the direction to the camera.
Assumption:
- Any reflector is diffuse (because we can't rely on the view directions which we don't know)
- outgoing radiance is uniform toward all directions.
- reflector only refers to points on the shadow map, not shading points.
注意 $p$ 点是 shading point,$q$ 点在 shadow map 上。我们假设的是 $q$ 点是 diffuse reflector。
Reflective Flux = Li
- We store incident flux because we can then cancel out $\mathrm{d}A$, which means we don't even need to know the area size of the reflector patch.
- If we store radiance, we need that information.
- Ignore $V(p, w_i)$ since it is difficult to compute (we need to generate a shadow map for each reflective point on the existing shadow map).
$$
L_o(p,w_o) =\int_{\Omega_{patch}}L_i(p,w_i)f_r(p,w_i,w_o)\cos\theta_i\mathrm{d}w_i\\
= \int_{A_{patch}}L_i(q \rightarrow p)f_r(p, q\rightarrow p, w_o)\frac{\cos\theta_p\cos\theta_q}{||q - p||^2}\mathrm{d}A\\
$$
Precomputation: