Games202高质量实时渲染_lecture7_Real time Global Illumination
1 PRT(Diffuse Case)
复杂度还是O(n);由于奇函数的正交性,只有p=q的时候才有数值。
存储很大,运算的时候
glossy用的4阶+
区分材质:diffuse ,specular:完美的镜面反射,glossy:介于中间,比镜面模糊。
要求不严格的话,specular指的就是glossy。
红的是正,蓝的是黑。是用了这种可视化方式。
总结
2 Wavelet 小波
最难的是发现问题,而不是解决问题。
小波定义在一个块上。
支持全频,即支持低频又支持高频。
把低频的放在左上角,
小波不支持快速的旋转光照,
PRT在工业界用的不是很多,主要是学术界。
3 Real-time Global illuminatin (in 3D)
1 Reflective shadow maps(RSM)
所谓全局光照就是比间接光照多一次bounce的效果
简单,快速;
Q点就是直接光照照到的点,Q点作为次级光源继续反射。
shadowmap 给了场景的离散的表述,每个像素都是次级光源。
如何用次级光源照亮shading point p;
4次方,不知道为啥,可能他写错了,应该是平方。
给你个shading point,投影到shadmap中,在shadmap的周围去采样。
RSM:多存了点东西;
depth:深度
世界坐标:判断实际两个点的距离,算shading值的时候用
反射物的法线;
flux:光源相关的东西
对于手电筒效果特别好,游戏中都是用这RSM.
RSM非常好实现:主要是Shadow map的流程,第一个pass生成一个RSM, 第二个只管从眼睛出发看向场景。每一个像素做shding。每一个像素就是shading point P;
问题:有一个直接光源,
virtual Point Light(VPL)
即时辐射度。