因此,在阅读https://www.guerrilla-games.com/read/killzone-shadow-fall-creating-art-tools-for-a-generation(关于PBR的游击游戏演示)后,我注意到区域灯为与DirectX中的标准定向,点光源和聚光灯相反,它可以产生非常逼真的阴影。

现在,在线上有很多资源都在谈论它,以及它的含义,但是关于实现的内容并不多。在线一些网站说,这只是一排灯,但我不认为这是灯。

可以有人解释我如何实现此功能(也许使用一些代码)。如果您可以包括任何与实现有关的良好资源的链接,那也将是很好的。

#1 楼

当我实现实时区域照明时,我一直引用两个文档:Sebastien Lagarde的“将冻疮移到PBR”和Brian Brian的“虚幻引擎4中的真实阴影”。 Michal Drobot撰写的“ Killzone Shadow Fall的闪电”也是对该主题的有趣读物。这些文件中没有一个涉及区域阴影,而是集中在照明积分的节能近似上。尽管有一些代码片段,但是这些文档缺少有关如何实现区域照明的大量细节,因此您需要自己进行大量研究。例如,我在此处发布了有关实现矩形区域照明的问题和答案。
我使用的一个非常有价值的工具是实现蒙特卡洛参考模型,以轻松地将不同的近似值与地面真实情况进行比较。有些人还使用Mitsuba渲染器来验证其实现。我认为此基础真理参考非常重要,这样您就可以知道实现中是否有错误,并了解这些近似值在哪里/如何失败以及是否可以尝试改进它们。实施蒙特卡洛集成也是理解潜在问题的一个很好的练习。

评论


$ \ begingroup $
感谢您的回答!我猜我会在一段时间后回到基于物理区域的灯光,因为我只有15岁,而所有这些Math都使我感到困惑。希望随着时间的流逝会有更多的实施细节。而且我应该能够理解所有术语。我也阅读了您建议的两种出版物,但我对它们的理解不多。
$ \ endgroup $
– Arjan Singh
16-10-16在16:02



$ \ begingroup $
15岁时追求这一点有点切线但很出色。阅读论文现在看起来似乎很混乱,并且数学很多,但是您阅读的每一本书都会变得容易一些。坚持下去,到大学和/或员工队伍时,您将处于领先地位。
$ \ endgroup $
–艾伦·沃尔夫(Alan Wolfe)
16-10-17在17:36

$ \ begingroup $
“将冻伤移至PBR”链接已死。这是镜子:seblagarde.files.wordpress.com/2015/07/…
$ \ endgroup $
– Atahan Acar
20/12/16在14:51

#2 楼

十五岁的研究员。
据我所读,您通常会通过结合多种方式来实现区域光:

用于BRDF计算的位置处的点或定向光。
使用光的大小作为镜面反射高光。
PCSS或另一种用于柔和阴影的技术。