天空光照
转自:https://www.nexusmods.com/skyrimspecialedition/mods/139352这是“高级社区着色器”(Advanced Community Shaders)的一项功能,用于模拟大规模世界空间环境光遮蔽效果。支持《上古卷轴5:特别版》(SE)、《上古卷轴5:周年纪念版》(AE)以及虚拟现实(VR)版本。
概述
这是“高级社区着色器”的一项功能,用于模拟大规模世界空间环境光遮蔽效果。支持《上古卷轴5:特别版》、《上古卷轴5:周年纪念版》以及虚拟现实版本。
天空光照,也称为大规模环境光遮蔽,是一组极为复杂的渲染概念——“全局光照”的一部分。
技术聚焦:全局光照——是什么、如何工作以及为何需要它?
天空光照在建筑物和茂密树林下方营造出柔和的环境阴影效果,增强了无直射光区域的对比度和真实感,并且与“社区着色器”的各个部分相融合,以实现更为先进的光照模型。
我们并未采用现有的渲染技术,而是完全从零开始创建了自己的技术,其先进程度远超我们最初的设计目标。在我们开发的所有功能中,这一项的变革性最为显著。
与ENB的对比
大家可能从ENBSeries中知晓“天空光照”这个术语,所以我们沿用了相同的表述,但实现的效果截然不同。ENB使用阴影贴图,该方法仅在正午和午夜前后效果较好。其他时段则会出现问题,因为天空光照会以一定角度对所有物体产生阴影。ENB预设在日出和日落时基本会禁用天空光照,因为它会让整个地图陷入黑暗。
ENB的天空光照仅从单一方向产生效果,而“社区着色器”的天空光照来自各个方向。
ENB的天空光照在每一帧的计算成本都很高。“社区着色器”尝试将计算成本分摊到多个帧上,这可能会导致偶尔出现帧率波动的副作用。未来我们或许能更好地优化这一点。
在低太阳角度下,基于阴影的光照与“社区着色器”天空光照的可视化对比图,最小环境值设为0,实际使用中两者并非如此。
潮湿效果
使用潮湿效果时,遮蔽区域会保持干燥,即遮蔽区域不会出现水坑。未来这一特性可能会应用于雪或霜的效果。
动态立方体贴图
天空光照可用于判断天空是否能照射到某个物体。这一信息与动态立方体贴图结合使用,当天空在反射中显示不合理时,可停止天空的反射渲染。
水面
水面的反射效果同样得到提升,此外还增加了体积环境光照明。
特效
像雾和烟雾这类特效也受天空光照影响,这意味着它们在黑暗中不再发光。
算法
简而言之
通过光栅化单向光线实时渐进式烘焙可见性探针。
详细说明
以大约每秒30帧的速率,逐步对来自不同光照角度的方向阴影进行平均计算,以此估算每个位置周围物体对环境光的遮挡情况,并将该信息以球面调和函数的形式存储在大致以相机为中心的网格中。然后,可对遮挡信息进行(随机)插值,用于实现大规模环境光遮蔽效果以及去除屋顶下的潮湿效果。
去噪并非必要操作,不过如果使用时间抗锯齿、FSR( FidelityFX Super Resolution)或DLSS(Deep Learning Super Sampling)技术,时空蓝噪声会使天空光照产生抖动,从而有效地实现免费模糊效果。
图表来自《大规模环境光遮蔽:导论》 | Dambuster Studios
它与屏幕空间全局光照(SSGI)有何不同?
SSGI中的环境光遮蔽(AO)规模较小,基于屏幕空间且是动态的。
天空光照产生的AO规模较大,不依赖于屏幕信息,并且不会随相机移动而变化。只有静态物体(房屋、树木、地形等)能够遮挡光线,动态物体仅接收遮挡效果。
此外,天空光照可影响透明物体和水面,并且在室内会被禁用,因为室内没有天空。
建议将两者结合使用以获得完整效果,同时搭配SSGI中的间接光(IL),它可以模拟光线反射。
兼容性
与所有内容兼容。
移动或切换物体可能会引发问题。目前尚未发现此类问题,但存在这种可能性。天空光照会尽量避免为动态物体渲染遮挡效果,并持续更新以减轻这种情况。
前置
“社区着色器”:https://bbs.3dmgame.com/thread-6557330-1-1.html
设计初衷是与“屏幕空间全局光照”配合使用,但并非必需。
下载地址:**** Hidden Message *****
66666666666
66666666666
撒旦发射点发射点发射点
页:
[1]