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

简介: 超逼真渲染!虚幻引擎技术大牛解读全局光照系统Lumen

第一个成功的方法是实现纯体素圆锥跟踪,整个场景在运行时是体素化的,就像经典的「Interactive Indirect Illumination Using Voxel Cone Tracing」一文中的那样实现。

栅格化的三角形
光线步进卡 (高度场)
体素圆锥追踪
光线步进卡继续与体素锥跟踪

而这种方法的主要缺点是,由于场景几何体的过度融合而导致泄漏,这种现象在跟踪粗低映射时尤其明显。

第一种降低图像泄漏的技术是,对全局距离场进行跟踪,只在靠近表面的地方进行体素采样。在采样过程中,随着采样范围扩大积累不透明度,停止追踪时,不透明度将达到1。这样总是在几何体附近进行精确采样,实现降低图形泄露的目的。

第二种技术是对网状内部进行体素化。这大大减少了在较厚的壁处的泄露,不过这样也会造成一些过度遮挡。

其他的实验包括跟踪稀疏体素位块和每面透明通道的体素。这两个实验的目的都是为了解决射线方向体素插值问题,即对于不垂直于壁面的射线,轴对齐的实心壁将变得透明。

体素位砖是将每个体素存储一个位在一个8x8x8的砖块中,以指示给定的体素是否为空。然后使用两级 DDA 算法进行光线步进。具有透明面的体素相似,但 DDA相同,并且沿着光线方向透明度不断上升。结果表明,这两种方法在表示几何体方面的效果都不如距离域,而且速度相当慢。
带有透明度的体素

最早的跟踪合并表示的方法是,对全局距离字段和使用全局每个场景卡的着色命中进行锥形跟踪。即遍历一个 BVH,找出场景中的哪些卡影响采样点,然后根据锥形足迹对每张卡的适度滑步水平进行采样。

本文放弃了这种方法,因为当初没有考虑只用它来表示远场轨迹,而是把它看作是高场光线步进的直接替代。有点讽刺的是,这种被抛弃的方法与我们两年后最终达成的解决方案最为接近。

第一个演示


到这里,已经可以产生一些相当不错的结果了:


尽管如此,还是遇到了很多图形泄漏的问题,而且在这个简单的场景中,即使在一个高端 PC GPU 上,性能也不是很理想。

为了解决泄漏问题,以处理更多的实例、在PS5上以8毫秒以下时间完成处理。这个demo堪称是真正的催化剂。

与以往的方案相比,第一个变化也是最大的变化是,用距离场跟踪取代高度场跟踪。

为了遮蔽生命点,从卡片上插入生命点的光线,因为距离场没有顶点属性,这样,未覆盖的区域只会导致能源损失,而不是泄漏。

出于同样的考虑,将体素锥形追踪改为全局距离场射线追踪。

与此同时,我们还做了很多不同的优化,并通过缓存方案对Lumen的不同部分进行了时间分流。值得注意的是,如果没有锥体追踪,我们必须更积极地去噪和缓存追踪,但这又是一个漫长而复杂的故事。

这是我们发送第一个演示后的最终结果,在PS5上一直低于8ms,包括所有共享数据结构的更新,如全局距离字段。目前的性能表现甚至更好了,比如最新demo的完成时间接近4毫秒,质量上也有明显的改进。
image.png


尾声


总之,本文对整个Lumen进行了全面重写,还有许多不同的想法没有实施。另一方面,有些东西被重新利用。就像最初我们用卡片作为追踪表示,但现在用来作为缓存网格表面的各种计算方式。和软件追踪类似,开始是我们主要的追踪方法,主要是圆锥体追踪,但最后成为一种缩小规模和支持具有大量重叠实例的、复杂重度场景的方法。

参考资料:https://knarkowicz.wordpress.com/2022/08/18/journey-to-lumen/https://advances.realtimerendering.com/s2022/index.html#Lumenhttps://www.youtube.com/channel/UC9V4KS8ggGQe_Hfeg1OQrWw

相关文章
|
8月前
|
存储 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:成本优化-软硬协同篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以超越原记录2.5倍的性能登顶排行榜,实现每分钟20.55亿笔交易,单位成本仅0.8元人民币,刷新性能与性价比双纪录。此外,还介绍了国产轻量版PolarDB MySQL的推出,满足市场对高性价比的需求。
|
10月前
|
人工智能 云计算 数据中心
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
452 2
|
机器学习/深度学习 DataWorks 安全
CDP是什么?
CDP是什么?
1028 0
|
10月前
|
自然语言处理 搜索推荐 安全
国产CRM系统推荐:助力企业数字化转型
随着企业数字化转型加速,国产CRM系统凭借高性价比、本地化服务和灵活定制能力,成为众多企业的首选。本文对比推荐了几款主要的国产CRM系统,包括销售易、神州云动、八骏科技、纷享销客、悟空CRM等,分析其功能优势、服务支持及适用场景。销售易适合中大型企业,提供全面解决方案;神州云动强调全流程支持和客户数据管理;八骏科技注重全方位客户管理和数据分析;纷享销客则适合中小型企业,强调移动办公和社交化营销;悟空CRM以轻量化设计和简单操作赢得中小企业青睐。选择指南建议企业根据规模、预算、行业特点及系统集成需求,选择最适合的CRM系统,助力业绩高质量增长。
|
10月前
|
自然语言处理 Cloud Native Serverless
Q&A | 零门槛,即刻拥有DeepSeek-R1满血版
在博文发布后,博主醇青酱提出了关于DeepSeek-R1模型部署的问题。本文针对其疑问进行详细解答,并补充说明了其他三种方案同样支持DeepSeek-R1的部署,具体操作可参考官方文档。文中还提供了详细的命令行示例和图片指引,帮助用户更好地理解和部署模型。若还有其他问题,欢迎继续提问。 原文路径:[零门槛、百万token免费用,即刻拥有DeepSeek-R1满血版](https://developer.aliyun.com/article/1652705?spm=a2c6h.13046898.publish-article.4.220b6ffa53YMKA)
|
分布式计算 DataWorks 数据处理
"DataWorks高级技巧揭秘:手把手教你如何在PyODPS节点中将模型一键写入OSS,实现数据处理的完美闭环!"
【10月更文挑战第23天】DataWorks是企业级的云数据开发管理平台,支持强大的数据处理和分析功能。通过PyODPS节点,用户可以编写Python代码执行ODPS任务。本文介绍了如何在DataWorks中训练模型并将其保存到OSS的详细步骤和示例代码,包括初始化ODPS和OSS服务、读取数据、训练模型、保存模型到OSS等关键步骤。
678 3
|
关系型数据库 MySQL Docker
PolarDB-X安装部署初体验
本文档介绍了体验阿里云PolarDB-X分布式数据库的安装和使用过程。首先提到PolarDB-X在稳定性及性能上的优势,然后详细描述了在CentOS 7环境下遇到的Python版本不兼容和Docker容器iptables配置问题的解决方法。通过创建Python 3.8的虚拟环境解决PyYAML依赖问题,接着在解决Docker容器内部网络问题后,成功安装并启动PolarDB-X。文中强调PolarDB-X完全兼容MySQL,适合熟悉MySQL的用户,并分享了安装历史记录以供参考。
523 7
|
编译器 开发工具
在word中插入带行号的代码
在word中插入带行号的代码
在word中插入带行号的代码
|
机器学习/深度学习 数据采集
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
430 0
北大团队将色谱领域知识融入机器学习模型,辅助对映体色谱分离
|
设计模式 存储 缓存
微服务实践01--微服务管理11--缓存03--典型缓存架构设计
微服务实践01--微服务管理11--缓存03--典型缓存架构设计
677 0
微服务实践01--微服务管理11--缓存03--典型缓存架构设计