一些電影vfx能做但game還不太能做的rendering效果 (即使有real-time ray tracing):
- Caustics
就是光子打中鏡面或玻璃之後聚光在物體表面上的效果
(太陽照到游泳池底下常會看到的pattern)
有一些方法可以做到real-time approximation但是general case目前還不知道怎麼做
- Glints
金屬表面的刮痕造成的高頻率法線變化在小光源之下的反光
例如 http://rgl.epfl.ch/publications/Yan2014Rendering
http://rgl.epfl.ch/publications/Jakob2014Discrete
這也有一些real-time approximation但很難重現細節
- 沙子或雪之類的顆粒狀media
電影可以模擬到一顆一顆的沙子的細節,遊戲目前只能是texture+displacement
https://cs.dartmouth.edu/~wjarosz/publications/meng15granular.html
- 高濃度但不均勻的霧
當霧的濃度夠高,光子會在霧中散射很多次 (multiple scattering),
如果霧很均勻 (homogeneous media) 那還好搞,但如果需要密度變化就很難算
雲就是一個例子,雖然大部分的game雲都很遠可以用texture或是一些hack代替
- 布,頭髮,毛
這些我們都有還不錯的real-time approximation,但實際上光子在布的ply/threads
之間,頭髮之間,毛之間都會有很複雜的反射,這些在real-time rendering都是被
省略的
- 規模
一般電影的場景load進記憶體之後會需要超過100GB的ram,所以GPU是裝不下的
這也是為什麼電影都是用CPU render
臨時大概就想到這些,像前面一些板友說的,隨著real-time ray tracing
的出現今後的game rendering應該會出現一些變化,上面這些都是有趣的研究題目
有興趣的板友可以考慮讀個phd做做這些題目