[sig13]Lighting technology of "The Last Of Us"
最后更新于:2022-04-01 11:27:04

siggraph13上面的文章,相关技术还是用在ps3上。
《The Last Of Us》实实在在代表ps3的图像最高水平:
**LightMap**

使用的是light map,技术从quake1时代就一直在用,到现在依旧是很有生命力,对于静态场景静态光照的确是更优的选择。

分成ambient component和directional component两个部分:和之前valve的做法很像了,然后把相关的光照信息使用spherial harmonic系数存下来。
**directional ambient shadow**
paper中给的图不是特别好,看这个吧:

不同于传统ambient occlusion这个是对于ambient lighting中有方向的部分
实际生活中ambient lighting也不是各个方向一样的,图中就是右上角照过来的ambient lighting要强一些,人在右上角方向才应该产生比较多的ambient shadow,而如果是在右下角就应该少。
传统ambient shadow会是根据物体表面normal来计算occlusion(或者说是shadow),没有考虑ambient lighting本身的方向。
这里naughty dog的做法是:

- 先是根据light map中有方向的部分去渲染屏幕空间中,ambient lighting的主要的方向
- 然后使用这个方向去和人物做line check
- 这个检测是在spu上做的
- 人物也是使用了胶囊体来模拟来简化计算
- 最后产生一个屏幕空间的ambient shadow
**接缝处理**
也谈到了light map典型的一些问题,比如接缝处理等等。
这些在地形渲染上也会有,做一个焊接的操作