网络上基于 Surfel 的全局照明

2026-05-10 1 阅读 vmg12
上面是我们将通过一系列交互式可视化逐步探索的内容的快速说明。但在我们继续这条道路之前,亲爱的读者,我恳求你做出选择。光的简史 你好,冒险家伙伴!让我们开始吧。当然,一开始什么也没有,甚至连光都没有。在大爆炸之后不久,也许一秒钟后,第一个光粒子就被创造出来了。对他们来说不幸的是,在很长一段时间里,宇宙充满了能量,如此炎热和密集,以至于这些光子无法到达它们想去的地方,而是几乎立即遇到电子并分散,有点像试图用手电筒照射你所见过的最厚的雾气。一段时间后,事情稍微冷却下来,仍然很热,但足够冷,电子和质子不再在露天嬉戏,成为朋友并一起进入原子。那些不断撞击物体的可怜的光子突然有了移动的空间——雾气也消散了。当时释放的光是我们可以观测到的最古老的光,即宇宙微波背景光。唉,在这短暂的光明景象之后,宇宙再次陷入黑暗。随着最初热潮产生的光子随风而逝,没有任何地方可以产生新的光子。宇宙就这样等待着。从 380,000 年到 4 亿年的全局照明很简单,finalColor = vec4(0,0,0,0)。最后,在宇宙诞生大约 5 亿年之后,一堆氢碎片如此坚硬地聚集在一起,以至于它们自燃,融合成氦原子,在此过程中产生了超高能光子,一种新型的灯泡诞生了——一颗恒星。现在,人们不会写关于这些光子的行为的全球照明论文——事实上,如果地球被它们“照亮”,那就根本没有人了,这将是一片贫瘠的冰冻荒地。不,这些精力充沛的年轻人需要首先平静下来,并在恒星内部弹跳十万年左右,然后这个宇宙幼儿园中的所有粒子相互作用将它们削减到可见光能级并到达恒星表面。现在成年了,他们可以自由地以光速漫游宇宙。我们将在这篇文章中尝试讨论的正是这些光子。许多科学家(海瑟姆的《光学之书》、牛顿的小体、杨氏的光波、普朗克的量子、爱因斯坦的光电效应)和艺术家(列奥纳多的光散射研究、莫奈的系列研究石头在不同光线下的颜色、特纳的光研究、维米尔所谓的机械辅助)都着迷的主题,这些光的使者以许多有趣的方式表现方式(散射、衍射、折射、引力透镜,仅举几例),但出于我们探索的目的,我们对漫反射特别感兴趣。或者正如列奥纳多在 15 世纪末所说的那样,光的效果是:反射与物体(它们来自的)或它们相遇的物体具有相同颜色的情况很少见。例如:设球体 d f g e 为黄色,将其颜色反射到其上的物体为 b c ,即蓝色。我说,如果 b c 受到空气或太阳的照射,球体被这种反射照射的部分将呈现绿色。列奥纳多·达·芬奇,《绘画论文:彩色反射》。来源 当然,他是对的。这种现象首先由画家莱昂·巴蒂斯塔·阿尔贝蒂 (Leon Battista Alberti) 提出,他在其关于绘画的论文《De pictura》中评论道:反射光线呈现出反射光线表面的颜色。当在草地上行走的人们的脸呈现出绿色时,我们就会看到这种情况发生。莱昂纳多将其转化为科学,分离出特定的变量并预测结果。莱昂纳多在 Blender 中呈现的思想实验今天很清楚,但可能会让他们感到困惑的是,该实验只有在使用带有大量绿色的蓝色时才有效,例如天蓝色 - 因为完美的黄色完全吸收蓝色,所以黄色表面上完美的蓝色反射只会产生绿色为零的泥泞阴影(因为一开始就没有!)。对他们来说幸运的是,他们无法获得纯蓝色颜料,所以一切都很顺利。但光的研究历史虽然令人着迷,但并没有让我们更接近能够模拟这些现象的实时渲染引擎。让我们跳到当前时间,看看我们现在所处的位置。路径追踪和计算机由于当今我们口袋里和桌子上的速度极快的计算机器,列奥纳多在他的思想实验中应用的逻辑每秒可以应用数百万次,