• Ambient 就是一个全局光照的 hack
• In RTR, people seek simple and fast solutions to one bounce indirect illumination.

• 一切被直接光照照到的物体都可以被看成【次级光源】

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.

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: