高质量实时渲染(一)

Reflective Shadow Maps(RSM)

在shadowmap上的每一个像素都是场景中表面上的一小块

假设:反射物都是diffuse

回顾:

  • 单位面积单位立体角 radiance
  • 单位立体角Radiant Intensity
  • 单位面积irradiance

MC光线追踪

在球面坐标,一个方向向量可以采用$(\theta,\phi)$来表示,分别为天顶角和方位角,立体角定义为
$$
dw=\frac{dA}{r^2}
$$
在单位球体上,$dw=dA$,我们转换用$(\theta,\phi)$求微分面积,根据弧长公式

$$
\begin{align}
s_{\theta}&=\theta * r_{\theta} \\
s_{\phi}&=\phi * r_{\phi} \\
d_{s \theta}&=r_{\theta} d \theta \\
d_{s \phi}&=r_{\phi} d \phi
\end{align}
$$

微分面积$dA$可以看作为一个微矩形,宽高为$d_{r\phi}$和$d_{r\theta}$,对于单位球体,$r_\theta=1,r_{\phi}=r_{\theta}*sin$

$$
dw=dA=d_{s\theta}*{s\phi}=sin\theta d\theta d\phi
$$
可对材质表面进行brdf采样,也可对光源进行直接采样

直接光源采样

$\alpha$夹角是采样方向向量与光源矩形表面法线向量的夹角,$dAcos\alpha$就是将矩形微分表面$dA$投影到采样方向$pq$上。
$$
d \omega=\frac{d A * \cos \alpha}{|p q|^{2}}
$$
我们对$dA$的采样概率应该是$\frac{dA}{A}$,在球体方向对立体角$d\omega$的采样概率为$p(direction)d\omega$,$p(direction)$为假定对光源直接采样的概率密度函数
$$
p(direction)*\frac{d A * \cos \alpha}{|p q|^{2}}=\frac{dA}{A}\
\rightarrow p(direction)=\frac{|p q|^{2}}{Acos\alpha}
$$