Games202高质量实时渲染_lecture6_Real time Environment mapping2
1 shadow from enviroment lighting
很难。
1.当作一个光源:每一个光源,都要生成一个shadowmap。
2.采样:visibility是非常难的。BRDF很高频的。
环境光遮蔽,但是看着别扭。
3.industrial solution—当作一个太阳,一个关键光源。
RTRT应该是值最终的解决方案。
PRT可以解决这个问题,代价是什么?好处是什么,坏处是什么?
2 backgroud knowlege
傅里叶变换:任何一个函数都可以写成一堆sin和cos的线性组合,并且这些sin,cos都有自己的频率。这些sin和cos叫做奇函数。
留下最低屏的部分:
1 Frequency and filtering
两个函数相乘,然后积分就是卷积或者过滤。其中只要有一个是低频的,那他就是低频的。
什么是低频呢?变化小,慢。
2 Basis functions
奇函数:Bi(x)就是奇函数,用奇函数的不同组合可以表示一个函数。
多项式也是其中的一个函数。
3 Real-time environment lighting(&global illumination)
1 Spherical Harmonics
涉及到频率的事情,又涉及到积分的事情
一系列二维的奇函数。对方向的一个函数。
三维空间中一个方向的函数就是二维的,sita和fan来表示。
在球面上不同的点,球面上某一给点是一个方向。球面上任何一个方向的值是多少,每一个都是一个独特的函数,定义在球面上的二维函数。
非常像一维的傅里叶函数。
二维的函数,每一种二维的函数都有不同的的频率。每一种频率上有几种不同的二维函数。
L等于几的时候有几个不同的函数:2L+1;
第L阶球面谐波函数;
前n阶有几个球面谐波函数:n^2个。
PH本质:一堆函数,每一阶他拥有一种频率,阶越高他描述的频率越高,对应的奇函数也多一点。
二维的函数,这些二维函数被归类为不同频率的段,每一种频率他有不同奇函数的数量。
这个奇函数与legendre多项式有关系。
颜色表示的值,越蓝越偏白值越大,黄色越偏白的地方绝对值越大。值的变化就是频率。
整个environment map他描述的是一个二维的函数。这个函数他投影到奇函数上,得到一个值。
2 Prefiterred env.lighting
diffuse BRDF就是低频的,三阶就够了。diffuse的一个球上不会反射出一个特别复杂的光照。
近似光照
1:
2阶:
对于任何的光照条件,只要你的材质是diffuse,我们都可以用前三阶的PH来描述光照,让他来照亮这么一个物体。
SH适合描述低频的关照。
两行代码拿到博士学位,并开创了新的时代,开启了PRT的时代。
总结
如果两个函数都是用SH的奇函数来表示,其实他们的product intergrtiy是点乘。
3 Precomputed Radiance Transfer(PRT)
1 PRT 概念
通过预计算的方式来做。
lighting和light transport都可以用PH来表示。
积分和求和的符号什么时候可以互换位置,在图形学里随时都可以,不需要考虑什么时候。
代价是:因为visibility,场景是不能动的,
因为Lighting,光源旋转后,倒是可以解决。
2 奇函数
x轴投影到x轴是1,x轴投影到其他轴是0;===》正交基
用什么样子的光照来计算一个物体他在任何一个点他的shading的点值是多少呢,
用了一个奇函数所描述的环境光照去照亮这个物体,然后这个物体各个点上最后照亮的结果是什么?
预计算就是对于每一个basis,对于每个shading point算算一个最后结果是什么。
4 视频
https://www.bilibili.com/video/BV1YK4y1T7yY?p=6&vd_source=5c9c50b5a07b211beafdf65d7cc7f8c8