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