文章转自知乎
《实时光线追踪技术:业界发展近况与未来挑战》
作者/毛星云(游戏开发)
原文:https://zhuanlan.zhihu.com/p/102397700
最近阅读了SIGGRAPH 2019中 EA SEED团队带来的关于实时光线追踪一篇很赞的技术分享。
本文将以此为引子,对实时光线追踪技术的发展近况,当前业界面对的挑战,以及未来的研究方向进行一个盘点。
主要涉及的要点有:
-
一、实时光线追踪技术元年:2018年
-
二、实时光线追踪:当前业界产品应用情况
-
2.1 虚幻引擎:UE 4.22实时光线追踪特性正式面世
-
2.2 Unity引擎:Unity 2019.3正式支持实时光线追踪特性
-
2.3 3A游戏:部分产品已加入实时光线追踪技术
-
2.4 主机平台:Play Station 5和Xbox Scarlett都将支持实时光线追踪
-
三、实时光线追踪:当前业界技术发展近况盘点
-
3.1 实时光线追踪:混合渲染管线
-
3.2 实时光线追踪:反射渲染
-
3.3 实时光线追踪:环境光遮蔽
-
3.4 实时光线追踪:阴影渲染
-
3.4.1 解析直接光照+随机阴影
-
3.4.2 透明阴影渲染
-
3.5 实时光线追踪:透明渲染和半透明渲染
-
3.6 实时光线追踪:多光源处理
-
3.7 实时光线追踪:粒子系统渲染
-
3.8 实时光线追踪:全局光照
-
3.9 实时光线追踪:剔除
-
3.10 实时光线追踪:Texture LOD
-
四、实时光线追踪:业界当前面临的挑战
-
4.1 实时光线追踪处理透明渲染仍有不少问题需要攻克
-
4.2 对多变的游戏内容环境的更好兼容
-
4.3 实时光线追踪全局光照:广阔的空间等待探索
-
4.4 探索新的实时光线追踪形态
-
4.5 不断革新混合渲染管线的技术形态
-
4.6 未来光线追踪领域的研究方向
OK,下面开始正文。
壹 · 实时光线追踪技术元年:2018年
个人认为,可以将2018年定义为实时光线追踪技术元年。




贰 · 实时光线追踪:当前业界产品应用情况
2.1 虚幻引擎:UE 4.22实时光线追踪特性正式面世

自4.22版本以来,UE4的实时光线追踪功能已经正式面世。
UE4中的Ray Tracing技术目前有两种形态:
-
混合光线追踪模式(Hybrid Ray Tracer Mode),用于将光线追踪功能与现有的光栅化效果相结合,进行混合渲染。 -
路径追踪参考模式(Path Tracer Reference Mode),用于与Ground Truth进行比较。
-
光线追踪阴影Ray Traced Shadows -
光线追踪反射Ray Traced Reflections -
光线追踪半透明渲染Ray Traced Translucency -
光线追踪环境光遮蔽Ray Traced Ambient Occlusion -
光线追踪全局光照 Ray Traced Global Illumination
2.2 Unity引擎:Unity 2019.3正式支持实时光线追踪特性

-
光线追踪环境光遮蔽 Ray-Traced Ambient Occlusion -
光线追踪接触阴影 Ray-Traced Contact Shadows -
光线追踪全局光照 Ray-Traced Global Illumination -
光线追踪反射Ray-Traced Reflections -
光线追踪阴影Ray-Traced Shadows -
递归光线追踪Recursive Ray Tracing

2.3 3A游戏:部分产品已加入实时光线追踪技术
-
到目前为止,不少3A游戏已经加入了实时光线追踪技术,包括《战地5(Battlefield V)》、《使命召唤:现代战争(Call of Duty: Modern Warfare)》、《地铁:离去(Metro Exodus)》、《古墓丽影:暗影(Shadow of the Tomb Raider)》、《雷神之锤2 RTX版 (Quake II RTX)》、《德军总部:新血脉(Wolfenstein: Youngblood)》等。



2.4 主机平台:Play Station 5和Xbox Scarlett都将支持实时光线追踪

-
Microsoft: E3 2019 Keynote:youtube.com/watch? -
SONY: What to Expect From SONY’s Next-Gen PlayStation :wired.com/story/exclusi
叁 · 实时光线追踪:当前业界技术发展近况盘点
-
混合渲染管线 Hybrid Rendering Pipeline -
反射 Reflections -
环境光遮蔽 Ambient Occlusion -
阴影 Shadows -
透明渲染Transparency -
半透明渲染 Translucency -
多光源处理 Many Lights -
粒子渲染Particles -
基于光线追踪的全局光照 Ray-traced GI -
剔除 Culling -
贴图LOD | Texture LOD

3.1 实时光线追踪:混合渲染管线

-
延迟着色阶段(光栅化)Deferred Shading (rasterization) -
直接阴影阶段(光线追踪或光栅化)Direct shadows (ray trace or rasterization) -
光照阶段(计算着色器+光线追踪)Lighting (compute + ray trace) -
反射阶段(光线追踪或计算着色器)Reflections(ray trace or compute) -
全局光照阶段(计算着色器+光线追踪)Global Illumination (compute and ray trace) -
环境光遮蔽阶段(光线追踪或计算着色器) Ambient occlusion (ray trace or compute) -
透明与半透明渲染阶段(光线追踪+计算着色器)Transparency & Translucency (ray trace and compute) -
后处理阶段(计算着色器)Post processing (compute)
?广告?
青瞳视觉——CG世界动捕品牌推荐

联系电话:13564203193 网址:www.chingmu.com
3.2 实时光线追踪:反射渲染



-
Step 1. 通过BRDF重要性采样生成光线,以提供符合材质特性的光线。。 -
Step 2. 通过屏幕空间光线步进(screen-space raymarching)或光线追踪(ray tracing)来完成场景相交运算。 -
Step 3. 在相交运算找到交点(intersections)之后,便可以重建反射图像。该过程可以就地完成,也可以分别完成,以提高一致性(coherency)。 -
Step 4. 内核跨像素重用ray hit信息,将图像采样到全分辨率。 -
Step 5. 为时域累积通道(temporal accumulation pass)计算有用信息 -
Step 6. 最终,以交叉双边滤波器(cross-bilateral filter)的形式对噪声进行最后的清理
3.3 实时光线追踪:环境光遮蔽



3.4 实时光线追踪:阴影渲染


3.4.1 解析直接光照+随机阴影

3.4.2 透明阴影渲染




3.5 实时光线追踪:透明渲染和半透明渲染

-
正确表示顺序无关的透明渲染(Order-independent Transparency,OIT) -
可变的粗糙度,折射和吸收(Variable roughness , refractions and absorption) -
多IOR过渡(Multiple index-of-refraction transitions)


3.6 实时光线追踪:多光源处理

-
基于加速结构的光源选择(Acceleration structure-based selection) -
基于重要性采样的光源选择(Light Importance Sampling)
-
Unity引擎的方案。基于相机朝向的加速结构(camera-oriented acceleration structure )[Benyoub 2019] [Tatarchuk 2019] -
《战地5》的方案。水平面光源列表(horizontal plane light list)[Deligiannis 2019]
-
Dynamic Many-Light Sampling for Real-Time Ray Tracing [Moreau 2019] -
Stochastic Lightcuts [Yuksel 2019]
3.7 实时光线追踪:粒子系统渲染

-
首先用不透明几何体的TLAS发射光线,如果有命中,则存储该长度 -
然后,在粒子系统的TLAS中发射另一条光线,并从不透明的命中长度限制该光线长度 -
然后,便可以相应地混合场景中的粒子系统
3.8 实时光线追踪:全局光照

-
基于面元(Surfels)。Stochastic All The Things: Ray Tracing in Hybrid Real-Time Rendering [Stachowiak 2018] -
基于网格(Grid)。Experiments with DirectX Raytracing in Remedy’s Northlight Engine [Aalto 2018] -
基于探针(Probes)。Dynamic Diffuse Global Illumination with Ray-Traced Irradiance Fields [Majercik 2019]
3.9 实时光线追踪:剔除

3.10 实时光线追踪:Texture LOD

-
目前的主流方案是依赖于光线差分(Ray Differentials)方法,但其对性能有一定的影响。 -
在《光线追踪精粹 (Ray Tracing Gems)》[Akenine-Möller2019]一书中,有讨论到一种基于光线锥(Ray Cones)的替代技术,其虽有一些可改进的地方,但也算是当前不错的方案。
肆 · 实时光线追踪:业界当前面临的挑战
4.1 实时光线追踪处理透明渲染仍有不少问题需要攻克


4.2 对多变的游戏内容环境的更好兼容

4.3 实时光线追踪全局光照:广阔的空间等待探索

4.4 探索新的实时光线追踪形态

-
Global Illumination Using Ray-Bundle Tracing [Tokuyoshi 2012] -
Dynamic Diffuse Global Illumination with Ray-Traced Irradiance Fields [Majercik 2019] -
Cone Tracing [Crassin 2011]
4.5 不断革新混合渲染管线的技术形态


4.6 未来光线追踪领域的研究方向

伍 · 总结

参考:
[1] SIGGRAPH 2019, State-of-the-Art and Challenges in Game Ray Tracing
[2] 题图来自UE4
[3] youtube.com/watch?
[4] wired.com/story/exclusi
[5] rockpapershotgun.com/20
[6] GDC 2018, Experiments with DirectX Raytracing in Remedy’s Northlight Engine
[7] GDC 2018, Shiny Pixels and Beyond: Real-Time Ray Tracing at SEED
[8] SIGGRAPH 2019, Leveraging Ray Tracing Hardware Acceleration In Unity
[9] Epic Games demonstrates real-time ray tracing in Unreal Engine 4 with ILMxLAB and NVIDIA
[10] docs.unrealengine.com/e
[11] docs.unity3d.com/Packag
[11] devblogs.nvidia.com/ign
[12] GDC 2019, Towards Filmic Quality at 30 FPS: Real-Time Ray Tracing for Practical Game Engine Pipelines
[13] SIGGRAPH 2018, Combining Analytic Direct Illumination and Stochastic Shadows
[14] digitaltrends.com/compu
[15] HPG 2019, Dynamic Many-Light Sampling for Real-Time Ray Tracing
[16] HPG 2019, Stochastic Lightcuts
文章出处:
CSDN:https://qianmo.blog.csdn.net/article/details/103949788
知乎:https://zhuanlan.zhihu.com/p/102397700
?广告?
青瞳视觉——CG世界动捕品牌推荐

联系电话:13564203193
原创文章,作者:CG世界,如若转载,请注明出处:https://www.cgworld.wiki/27980.html
评论列表(4条)
一次解决一个问题
实时光线追踪啊
这篇得收藏,用到了
机器越来越好了。