Epic 的 Unreal Engine 4 是上一代最流行的游戏引擎之一。它被 EA、Ubisoft 和 Microsoft 等 AAA 巨头以及大量独立工作室广泛使用。凭借虚幻引擎 5 及其 Lumen 和 Nanite 技术,Epic 正在寻求扩大其在视频游戏行业的主导地位。

在这篇文章中,我们将介绍 Lumen,这是虚幻引擎 5 使用的全局照明解决方案,可在预算内为下一代游戏带来逼真的照明。我们将 Lumen 与传统的光线追踪进行比较,并分析两者在质量和性能方面的差异。

什么是全局照明?

简而言之,全局照明是通过计算屏幕内外光源发出的光(通过近似或追踪其路径)来照亮或照亮场景的过程。通过光线和路径追踪,光线从这些光源投射,到达场景中的各种物体并照亮它们。根据遇到的对象的性质,光线的行为会有所不同。例如,有光泽(闪亮)的物体会反射光线,而不透明的物体会简单地阻挡它并将其重定向到其他地方。物体在不同方向上对光线的重定向称为间接或漫射照明,而重定向的光线称为漫射光线。

光线追踪全局照明 (RTGI)

然后这些间接或漫射光线充当新投射的光线,进一步撞击其他对象并在此过程中照亮它们,而对象将它们重定向基本上充当光源。当光线最终到达相机(你的眼睛)时,它收集的信息用于确定场景的照明。

在大多数情况下,光线的颜色由反射它的像素的颜色决定。为了节省性能,直接照射到屏幕(您的眼睛)的光线(颜色、强度等数据)使用复杂的算法进行计算,而其余的漫射光线则使用更简单、不太复杂的方程来计算。

所以,现在您可能想知道光线是如何在场景中投射的,以及如何确定每个场景的光线数。嗯,这是通过探针完成的,这些探针基本上是开发人员在运行前放置在场景中的光源。每个探头都充当点光源,投射光线并照亮场景。每个探头可以放射状地投射一条或多条射线。

什么是光线追踪以及它是如何工作的?NVIDIA 的 RTX GPU 值得吗?

这些探测器投射的光线被追踪、着色,并且辐照度和几何距离等数据被存储并用于计算场景的最终照明。在最初的光线追踪游戏中,大多数开发人员使用一个(或两个)光探针来计算漫反射光照。在 Metro Exodus 中,这是太阳和天空的纹理。在增强版中,这扩展到了 256 个光源或探头。因此,总的来说,您有256 个光源,加上来自太阳和天空的光线都用于计算每个像素的光照。1080p 显示器有 200 万像素,1440p 有 400 万像素,4K 有 800 万像素!

为了确保现代硬件能够真正运行游戏,开发人员使用网格单元或集群来划分场景。然后类似于屏幕空间效果,范围内(网格中)的光探针用于计算场景的照明,主要区别在于在前者的情况下,屏幕空间被划分为多个部分(取决于它们在 Z 缓冲区中的位置),而在后者的情况下,游戏世界是分区的,避免了类似的覆盖问题。

另一项优化涉及累积来自先前帧的光线并将它们用于额外的漫反射光反弹,就像时间放大一样。这用于生成照明网格,然后可以在连续帧上重复使用,从而允许几乎无限的光线反弹。您实际上是在多个帧上临时投射漫射光线,以减少性能影响并使该方法更适合实时使用。由于漫射光线的影响是微妙的(但在光线不足的场景中很明显),它不会受到通常与时间渲染技术相关的问题的影响。

虚幻引擎 5:Lumen与光线追踪

Lumen 基于光线追踪,尽管它是一种更优化的混合形式,以允许在不同的图形架构中更广泛地采用,而无需拥有 1,000 美元的 GPU。

Lumen 是虚幻引擎 5 的全新全动态全局照明和反射系统,专为下一代游戏机而设计。Lumen 是虚幻引擎 5 中默认的全局照明和反射系统。它在从毫米到公里的大型详细环境中渲染具有无限反弹和间接镜面反射的漫反射。

默认情况下,Lumen 使用软件光线追踪(不使用 RT 内核/加速器),这是一种高度优化的形式。它并行使用多种形式的光线追踪,包括屏幕追踪 (SSRT)、有符号距离场 (SDF) 和网格距离场 (MDF),根据对象及其与屏幕的距离计算场景的全局照明,以及某些其他因素。

有符号距离场和网格距离场

在我们继续之前,您需要知道有符号距离场(和网格距离场)是什么。虽然这听起来像是一个非常复杂的术语,但SDF 基本上是一个特定方向的距离向量。让我们以下面的例子来说明这一点:

SDF

光线从相机投射,穿过屏幕,然后接近圆形表面。现在,通过光线追踪,最重要的部分是确定哪些光线击中场景中的对象,哪些未命中。SDF 用于此目的,更具体地说,是找出(对于从特定方向开始的光线)对象表面上存在交叉点的最近点。

Ray Marching

这里,绿色圆圈代表 SDF。计算SDF 意味着找出我们可以(至少)沿着射线在那个方向上走多远。然后,覆盖这么多距离并重新评估 SDF。这整个过程称为光线行进。现在对网格采用相同的方法,您将获得网格距离场 (MDF)。无论哪种方式,在这种情况下,光线实际上并没有击中圆,因此该过程在预定数量的步骤后结束。以防万一,SDF 将被用于计算照明和其他相关方程。

全局距离场、网格距离场和屏幕跟踪

Lumen 在其软件/混合跟踪管道中使用全局距离场、网格距离场和屏幕跟踪来计算场景的照明。全局距离场是最快的,但准确度要低得多。这对他们有利,因为它们用于场景的抽象外骨骼,例如墙壁、地板和大(但简单)的纹理块(例如垫子)。网格距离场更详细,但仅在对象表面附近保留稀疏的细节。这些 SDF 与 mipmap 一起使用,具体取决于对象与相机的距离。

lumen 中的软件光线追踪过程从屏幕空间光线追踪或屏幕追踪开始,它针对深度缓冲区中的几何体/对象(在屏幕上可见)进行。正如您在本节开头的图表中看到的那样,这通常用于边缘和裂缝,基本上是投射屏幕空间阴影 (SSAO) 的几何体。在屏幕跟踪之后,使用 SDF。第一个网格距离场用于附近的对象,其次是全局距离场用于场景的其余部分。

网格距离场(称为详细跟踪)跟踪距离相机最远 2 米的对象,而其余部分使用全局距离场进行跟踪(称为全局跟踪)。如上所示,每种方法都有自己的每个场景的 2D 体素表示。GDF 不太准确,因为您实际上是根据对象轮廓跟踪它们,但比 MDF 快得多。此外,目标对象的性质/距离意味着这非常有效。另一方面,MDF 跟踪场景中各种对象的(相对)低多边形版本以计算照明(对于高达 2 米的对象)。

为了进一步加快这个过程,Lumen 使用了Surface Cache。Surface 缓存从各个角度捕获对象的几何属性,并以各种图集(缓存)的形式离线存储它们。捕捉发生在玩家四处移动时,当你靠近时分辨率更高,当你远离物体时分辨率较低。但是,这仅适用于内部简单的网格。缓存发生在有限数量的对象多边形(几百 MB 的 VRAM)中,并且需要各种对象/部分的 LOD 才能有效利用。

Lumen 软件 RT的主要缺点之一是它不适用于蒙皮网格(主要是骨架),因为它们是动态的并且随着每一帧(变形/移动等)而改变它们的形状。因此,需要为每一帧创建这些对象的 BVH 结构,而 Lumen 的 SW 光线追踪器无法做到这一点。Lumen SW 在运行时只为静态网格创建一次 BVH 对象,这大大加快了进程,但对于动态网格却毫无用处。

Lumen 还带有硬件光线追踪,但大多数开发人员会坚持使用前者,因为即使使用 RT 内核等专用硬件,它也比 SW 实现慢 50% 。此外,您也不能使用硬件光线追踪或蒙版网格重叠网格,因为它们会大大减慢光线遍历过程。如上所述,软件光线追踪基本上将所有相互重叠的网格合并到一个距离场中。

总体而言,Lumen 看起来很出色,但它的主要缺点是它仅限于 Unreal 5。这意味着与 NVIDIA DLSS 类似,它永远不会看到与其他开源技术(FXAA、SMAA 甚至 TAA)相同的采用量. 从好的方面来说,它应该允许许多独立工作室利用​这种先进的 GI 技术,而无需付出太多努力。此外,它还将推动其他主要引擎(最著名的是 CryEngine、Frostbyte、Dunia 和 Snowdrop)提出他们自己优化的、基于软件的光线追踪器,可在所有硬件上工作。现实中会游戏制作会遇到电脑硬件配置不足带不动软件,前期硬件投入过大,还会遇到项目文件资产过大,游戏项目耗时久,本地资源无法释放的情况等,建议可以试试云工作站,云端制作快人一步。

UE5的Lumen和传统光线追踪对比,哪个更好?相关推荐

  1. 企业数据应用 传统商业智能对比大数据应用

    传统商业智能对比大数据应用 传统商业智能模式 商业智能系统的主要功能 大数据的变革 BI(商业智能) OLTP(联机事务处理) OLAP(联机分析处理) 操作数据库系统和数据仓库系统的区别 为什么需要 ...

  2. 怎么看待SEO?新型SEO与传统SEO对比优势?

    要对比新型SEO与传统SEO的差异,首先要了解SEO,我们先要知道什么是SEO?作用是什么? SEO,全称:Search Engine Optimization,翻译中文即搜索引擎优化.它是一种方式, ...

  3. 西施果蔬彩色豆腐与传统豆腐对比调查报告

    西施果蔬彩色豆腐与传统豆腐对比调查表:   传统豆腐营养单一,色泽单一,质地普通,口感一般,市场热销一般, 领售价格 1.0元/斤 彩色豆腐 营养丰富,www.gzelijah.com 满足所需的多种 ...

  4. jsp和php对比如何,jsp和php对比哪个更好

    jsp和php对比哪个更好 发布时间:2020-11-04 11:29:58 来源:亿速云 阅读:54 作者:小新 小编给大家分享一下jsp和php对比哪个更好,相信大部分人都还不怎么了解,因此分享这 ...

  5. 为什么云教室比传统的PC教室更受欢迎

    走进校园,我们会发现现如今的学校跟10年前相比发生了很大的变化,不仅有了塑胶跑道和新建的篮球场这些,同时云教室这一现代化的教室也已经屡见不鲜,以前虽然有很多的学校都有计算机机房,但是从使用情况来看传统 ...

  6. 3D重建传统算法对比深度学习,SFU谭平:更需要的是二者的融合

    点击我爱计算机视觉标星,更快获取CVML新技术 机器之心原创 作者:一鸣 近年来,深度学习在计算机视觉的重要领域--三维重建中取得了一系列成果.然而,最近有论文指出,深度学习的 3D 重建表现甚至不如 ...

  7. 高效的敏捷测试第一课 敏捷测试介绍,与传统测试对比

    开篇词:重剑无锋.大道至简 你好,我是朱少民,欢迎来到我的"敏捷测试"专栏.2000 年至今,我已在测试行业摸爬滚打 20 年,因为热衷分享应该有不少同行认识我.可能是因为读过我写 ...

  8. 无线网sdn服务器,什么是SDN,SDN网络与传统网络对比

    SDN作为极简网络4.0的灵魂,如同六脉神剑一般,灵活多变,感应强烈,功效卓著.它可以将复杂的网络流量化繁为简,梳理成十二经络般清明通顺,并将流量精准送至对应的位置,让你的网络成为顶级高手,管理随心所 ...

  9. Saas与传统软件对比

    降低企业成本:按需购买,即租即用,无需关注软件的开发维护. 软件更新迭代快速:和传统软件相比,由于saas部署在云端,使得软件的更新迭代速度加快 支持远程办公:将数据存储到云后,用户即可通过任何连接到 ...

最新文章

  1. linux splash qt,ubuntu14.04 splash安装
  2. STM32的I2C特性及架构
  3. 第二十六期:HTTP 3的前世今生及尝鲜
  4. sourcetree不好做到的一些git操作
  5. linux usb学习笔记
  6. 【elasticsearch】es直接put一个数据到es Can‘t merge because of conflicts Cannot update enabled setting _source
  7. 操作系统的 (program)loader(程序加载器)
  8. Struts与Hibernate整合完成一个小案例
  9. cplex java_【CPLEX教程03】java调用cplex求解一个TSP问题模型
  10. 常见问题:为什么我的插件安装失败?
  11. 【Python精彩案例】随拍文档转PDF扫描版
  12. plc与c语言那个工资高点,学会PLC编程后的工资会高吗
  13. 西门子与源讯联手打造网络安全技术;全球首个5G全息国际通话打通 | IoT黑板报...
  14. 几种数据库建模工具推荐(包含开源版)
  15. 用爬虫的底子两天做了一个简单的网页(新手版)
  16. linux的ffmpeg转换视频为mp4,使用开源软件FFmpeg将各种格式视频转换成MP4视频格式(最简单方法)...
  17. 云网融合赋能智慧转型,“天翼云管 ”开启贴身云管家时代
  18. actionbarsherlock 插件结合slidingmenu时,自定义actionbar布局
  19. 快来生成你专属的英文名吧(使用字符级RNN)!
  20. python编程中,各种随机种子seed设置总结

热门文章

  1. 梅科尔工作室-卢学斌-鸿蒙笔记3
  2. Java期末作业——王者荣耀的洛克王国版游戏
  3. proxmox ve 中文社区_proxmox VE 国内镜像
  4. 依图的人工智能求索路
  5. 三位院士压轴,大数据产业生态建设与发展高峰会成功举办
  6. 图像处理岗位面试题搜罗汇总
  7. C++中常对象、常成员函数、常成员变量
  8. 计算机二级WPS 选择题(模拟和解析一)
  9. java 腾讯地图路线搜索_Java 腾讯地图获取经度、纬度 and 计算距离
  10. paypal支付集成及最新paypal申请API签名入口