Re: [问题] 请教关于PS4性能到什么程度

楼主: jimmycool (北七)   2014-06-16 13:09:10
难得有聊rendering的文章就来凑个热闹,补充一下global illumination的部分
小弟不是业界人士所以资讯可能跟业界有点差距,还请各位大大指正
关于GI的基础可以听听John Carmack的talk,我觉得讲得满清楚
https://www.youtube.com/watch?v=MG4QuTe8aUw
在早期real-time GI只存在在场景的静态物件之中,最常用的方法就是lightmap,
lightmap其实就是一张texture,把需要算很久的GI资讯先在offline算好存在texture
里面,再贴到场景中,前文提到的ambient occlusion也可以用lightmap实现,
把物件的occlusion rate先算好再存到texture里面贴上去就可以了
用texture存lighting的缺点就是没有方向的资讯,所以当环境光或光源位置一改变,
所有东西就白算了,一个改进这个缺点的方法叫做PRT(Precomputed Radiance Transfer)
,PRT的基本idea就是把lighting的方向资讯用某种方式压缩在vertex上面,最早被用来
压缩的方法叫做Spherical Harmonics,SH简单来说就是球面上的Fourier basis(傅立叶
基底),可以有效的压缩低频的lighting资讯
之后在学术界里也有许多人尝试使用其他的basis function来做一样的事,像是Wavelet
(小波)、Spherical Gaussian,甚至Neural Network类神经网络也有人试过
(可以看看这篇paper的video, 结果很惊人
http://www.renpr.info/project/ShadeBot.htm )
不过就我所知业界比较常用的还是Spherical Harmonics
尽管PRT已经发展到camera可以动,材质可以变,光源可以变,他还是只能应用在静态的
场景上,而且他前处理所需要的时间也是变态长(一个小规模的场景可能就要花上几天),
所以慢慢的大家就转换到前文提到的screen-space method上,screen-space method就是
想办法利用画面上已经render好,但是没有GI的其他pixel,去猜出想算GI的pixel的颜色
,这类方法因为跟deferred shading相性极好(都需要算G-buffer),所以好像在业界造成
一股风潮,但很明显的他的缺点就是camera没看到的资讯他也找不到,所以会有一些奇怪
的artifact,尤其是在camera移动的时候
除了上面提到的方法以外还有一种方法叫做voxel-based,顾名思义他会把场景简化成
一格一格的voxel,然后用这些voxel去逼近光的分布来计算GI
我认为这才是real-time GI的state of the art,voxel-based最早应该也是出现在
CryEngine上面,不过他的名字叫做LPV(Light Propagation Volume),Unreal
Engine也不落人后,在UE4加入了voxel-based GI(但好像又被拿掉了...)
voxel最近在real-time rendering也是满热门的议题,主要是因为id software发展出了
一种新的资料结构叫做Sparse Voxel Octree(SVO),可以有效的压缩voxel,最主要的
应用是拿来存非常大的terrain,但是他的一个附加的好处就是可以跟上面的voxel-based
GI结合,最近学术界的研究也让他可以取代shadow volume算出非常精细的影子
http://www.cse.chalmers.se/~kampe/compactPrecomputedVoxelizedShadows.pdf
除了物体表面以外,雾之类的空气中的粒子也是个重要的topic,
这种现象我们叫做volumetric scattering/participating media,Assasin's Creed 4
在这方面好像下了很大的功夫,不过我不知道他们是用什么方法XD
最后,最近real-time rendering界最热门的话题应该是所谓的phsyically-based
rendering,意思是说我们不想要再用Phong shading这种ad-hoc的材质模型,
他不但不是基于物理原理,能量也不守恒,所以在不同的光照环境下可能会忽亮忽暗
遵循物理定理的模型在图学里面最有名的应该是所谓的microfacet model,是pixar
的Rob Cook和一位物质学家Kenneth Torrance合作发明的
边打边想大概就想到这些,其实也不知道是要给谁看的,只是看到有人在聊graphics
就很兴奋打了一堆,如果浪费到大家时间还请见谅喔
作者: Kendai (ShouldIStayOrShouldIGo)   2014-06-16 13:16:00
作者: bachelorwhc (单身老王)   2014-06-16 13:16:00
看来我这砖引出了好多玉
作者: art1 (人,原来不是人)   2014-06-16 13:51:00
推!
作者: justinlcs (班班)   2014-06-16 13:53:00
感谢大大抛了那么多有用的关键字,都是很棒的资讯 :D
作者: Transformers (图学真是深奥)   2014-06-18 21:16:00
UE4会新增Dynamic GI 可参考这 http://goo.gl/59e8Dt
作者: silveriii (多说无益)   2014-06-20 13:18:00
作者: a27417332 (等号卡比)   2014-06-21 11:07:00
神经网络那个好像是KlayGE的开发者之一提出的

Links booklink

Contact Us: admin [ a t ] ucptt.com