超逼真渲染!虚幻引擎技术大牛解读全局光照系统Lumen(1)

简介: 超逼真渲染!虚幻引擎技术大牛解读全局光照系统Lumen
【新智元导读】虚幻引擎5中,多亏有了全局光照系统Lumen才能让更多人人沉浸在虚拟世界中。对于它的研发过程,创立者Krzysztof Narkowicz对其进行了解读。


实时全局光照(Real-time GI)一直是计算机图形学的圣杯。

多年来,业界也提出多种方法来解决这个问题。

常用的方法包通过利用某些假设来约束问题域,比如静态几何,粗糙的场景表示或者追踪粗糙探针,以及在两者之间插值照明。

在虚幻引擎中,全局光照和反射系统Lumen这一技术便是由Krzysztof Narkowicz和Daniel Wright一起创立的。

目标是构建一个与前人不同的方案,能够实现统一照明,以及类似烘烤一样的照明质量。

近期,在SIGGRAPH 2022上,Krzysztof Narkowicz和团队讲述了他们构建Lumen技术之旅。

软件光线追踪——高度场


当前的硬件光线追踪缺少强大的GPU算力支持。我们不知道硬件光线追踪速度有多快,甚至不知道新一代控制台是否支持它。


因此,软件光线追踪方法运用而出。事实证明,它确实是一个非常好用的工具,可以用于缩放或支持有大量重叠实例的场景。

软件光线追踪提供了一种可能性,那便是可以使用各种各样的追踪结构,比如三角形、距离场(distance fields)、面元(surfels),或者高度场(heightfields)。

在此,Krzysztof Narkowicz放弃了研究三角形,简要研究了面元,但是对于那些需要相当高密度才能表示的几何图形,对其进行更新或追踪面元是相当昂贵的。

经过初步探索,高度场是最合适的,因其能够很好地映射到硬件中,并提供表面表示和简单的连续 LOD。

因为我们可以使用所有的POM算法,比如最小-最大四叉树,因此它的追踪速度是非常快的。

此外,多个高度场可以表示复杂几何,类似于栅格化边界卷层次结构。

若将其视为面元的加速结构也非常有趣,一个单独的texel就是一个受限于常规网格的面元。

除了高度场,Lumen还有其他属性,如反照率或照明,这样就能够计算出每次的照明。

在Lumen中,开发者将这张带有表面数据的完整贴花式投影命名为卡(Cards),即捕获位置。

栅格化的三角形

Raymarched cards光线步进卡(高度场)

对于场景中的每一张卡来说,进行光线步进太慢。因此需要一种卡的加速结构,开发者选择了一个4节点的BVH。它是为一个完整的场景构建的,每一帧都在 CPU 上,并上传到 GPU。

然后在追踪着色器中,我们将进行基于堆栈的遍历,并对节点进行动态排序,以便首先遍历最接近的节点。

BVH 调试视图


捕获位置


这里最棘手的部分是如何放置高度场,以便捕捉整个网格。Krzysztof Narkowicz称,「其中一个想法是基于GPU的全局距离场。每一帧我们都会追踪一小组主射线来寻找没有被卡覆盖的射线。

接下来,对于每一个未发现的射线,我们将使用表面梯度遍历全局距离场,以确定一个最佳的卡方向和范围,从而产生一个新的卡。

全局距离场的捕获位置


相关文章
|
1月前
|
人工智能 编解码 自然语言处理
2025年数字人平台如何选?这份排名与推荐指南帮你精准定位
在2025年数字人爆发之际,必火AI凭借全链路智能创作平台脱颖而出。其以极速克隆、AI文案、智能剪辑三大引擎,实现从素材到成片的一站式生成,支持4K超清、40语种、情感化音色,大幅降低制作门槛与成本。评测显示,该平台在效率、质量与易用性上全面领先,广泛适用于短视频营销、个人IP、企业培训及跨境出海等场景,成为企业与创作者数字化转型的优选工具。
256 4
|
2月前
|
开发框架 安全 Java
Web渗透思路及src漏洞挖掘思路
本内容系统讲解Web渗透测试思路,涵盖系统、网站、App及服务层面的渗透技术,包括漏洞探测工具使用、CMS系统分析、开发框架识别等,并介绍了SRC漏洞挖掘及CNVD证书提交流程,助力网络安全学习与实践。
259 0
Web渗透思路及src漏洞挖掘思路
|
5月前
|
存储 数据安全/隐私保护 Windows
盘点实用磁盘修复工具,让硬盘恢复如初
电脑使用时间久了,磁盘容易出现逻辑错误或物理损伤,表现为分区打不开、读取异常、传输变慢甚至频繁蓝屏。遇到这些问题,不必立刻送修,可尝试使用专业磁盘修复工具自行排查与修复。本文介绍几款实用工具,如 DiskGenius、CHKDSK 命令、Mac 磁盘工具及硬盘厂商专用软件,帮助你轻松应对各类磁盘故障,让硬盘“重获新生”。修复前请务必备份数据,优先恢复再修复,确保数据安全。
|
开发工具 C语言 内存技术
ZYNQ_SDK HelloWorld实验
ZYNQ_SDK HelloWorld实验
|
Nacos 开发者
nacos报错 Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}
在配置文件中指定的Nacos服务器地址未被项目使用,程序仍尝试连接到127.0.0.1。开发者寻求帮助排查问题,已花费多天未果。
|
8月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
传感器 网络协议 安全
基于STM32的智能饮水机系统设计
随着智能化的迅速发展,人们对于生活中的各类设备也越来越有智能化的需求,其中智能饮水机是一种比较常见的设备。智能饮水机不仅可以提供饮用水,还可以通过智能化的技术满足人们对于水质、水温、出水量等方面的需求。因此,当前设计了一种基于STM32的智能饮水机系统,以满足人们对智能化饮水机的需求。
726 1
|
传感器 安全 程序员
【C++多线程 同步机制】:探索 从互斥锁到C++20 同步机制的进化与应用
【C++多线程 同步机制】:探索 从互斥锁到C++20 同步机制的进化与应用
870 1
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明
918 0
|
JavaScript Java 关系型数据库
springboot+vue垃圾分类网站(源码+文档)
一款基于SpringBoot的垃圾分类网站。项目涉及后端使用Java、SpringBoot、Mybatis,前端采用Node.js和Vue,数据库为MySQL。系统包括管理员和用户两个模块,提供用户登录注册、垃圾分类、图谱管理等功能。管理员可进行用户和垃圾分类的管理。如有项目源码和部署需求,可联系作者风歌。