实时光线追踪技术:发展近况与未来挑战
另外,对于粗糙玻璃,推荐使用Walter’s参数化(Walter’s parametrization)和GGX粗糙度重要性采样(importance sample GGX roughness)。而对于特别粗糙的材质,则需要更多的采样来进行降噪,也可以使用时域滤波。实践证明在纹理空间(texture-space)中进行渲染是不错的思路。 而对于半透明渲染(Translucency),目前业界已可以很好地实现均匀介质内部的光散射(Light scattering inside homogeneous medium),在PICA PICA Demo,同样采用了在纹理空间(texture-space)中进行渲染的方案。 ![]() 3.1 实时光线追踪:混合渲染管线 ![]() 对于多光源的处理而言,业界现有方案可以总结如下两类: 基于加速结构的光源选择(Acceleration structure-based selection) 基于重要性采样的光源选择(Light Importance Sampling) 其中,基于加速结构的光源选择(Acceleration structure-based selection)方案的代表性思路可以总结为: Unity引擎的方案。基于相机朝向的加速结构(camera-oriented acceleration structure) [Benyoub 2019] [Tatarchuk 2019] 《战地5》的方案。水平面光源列表(horizontal plane light list)[Deligiannis 2019] 而基于重要性采样的光源选择(Light Importance Sampling)的代表性思路,都是HPG 2019的paper: Dynamic Many-Light Sampling for Real-Time Ray Tracing [Moreau 2019] Stochastic Lightcuts [Yuksel 2019] 其中,《Dynamic Many-Light Sampling for Real-Time Ray Tracing》描述了一种基于两层BVH的分层光源采样数据结构,该结构能够从10,000个发射三角形进行交互式直接光照。这使得未来的实时场景可以只用自发光网格(emissive meshes)来进行光照,非常赞。 3.7 实时光线追踪:粒子系统渲染 ![]() 对于光线追踪粒子系统的渲染,《战地5》解决方案是将粒子朝向光线,有点类似billboard的思想。 而一般方案是维护两个顶层加速结构(Top Level Acceleration Structures, TLAS):一个用于不透明几何体,一个用于粒子系统。 首先用不透明几何体的TLAS发射光线,如果有命中,则存储该长度 然后,在粒子系统的TLAS中发射另一条光线,并从不透明的命中长度限制该光线长度 然后,便可以相应地混合场景中的粒子系统 值得一提的是,另一个技巧是将奇数粒子旋转90度。 3.8 实时光线追踪:全局光照 ![]() 光线追踪硬件的新特性可以给全局光照带来各种便利,诸如依靠各种缓存机制(caching mechanisms)在多个帧上累积渲染结果,并提高采样速度。 可以将业界主流的基于光线追踪的全局光照分为如下三类: 基于面元(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 实时光线追踪:剔除 ![]() 因为光线追踪一般是在世界空间中进行的,所以无法使用光栅化方法中比较常用的“视锥剔除(Frustum Culling)”。 如果无法将所有对象都放在BVH中,则必须找到一种新的启发式剔除方法。《战地5》的方案是基于投影包围球(Projected Bounding Sphere)[Deligiannis 2019],不失为一种有效的方法。 3.10 实时光线追踪:Texture LOD ![]() 因为像素四阶导数(pixel quad derivatives)只能用于光栅化,所以光线追踪无法自动进行Texture LOD。 目前的主流方案是依赖于光线差分(Ray Differentials)方法,但其对性能有一定的影响。 在《光线追踪精粹 (Ray Tracing Gems)》[Akenine-M?ller2019]一书中,有讨论到一种基于光线锥(Ray Cones)的替代技术,其虽有一些可改进的地方,但也算是当前不错的方案。 OK,盘点完十个细分领域目前的发展状况,下面接着盘点实时光线追踪业界当前面临的挑战,以及未来的发展方向。 肆 · 实时光线追踪:业界当前面临的挑战 4.1 实时光线追踪处理透明渲染仍有不少问题需要攻克 ![]() 在目前的实时光线追踪领域,在1-2 spp(sample per pixel)的情况下,大多数降噪技术通常对于透明渲染、粒子渲染、体积渲染的渲染效果虽说相较于光栅化有进步,但其实也并算不上特别理想。 PICA PICA Demo中,虽然采用了具有折射和散射的纹理空间OIT(texture-space OIT)技术,但也并不完美,有改进的空间。 对于粒子系统和体积特效而言,采用在miss shader中更新体积/裁剪图、或在hit shader中进行光线步进(Ray marching in hit shaders)、以及进行Non-trivial blending & filtering,都是值得尝试的方向。 (编辑:D游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |