一些电影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做做这些题目