Laminar 的主要负责人之一 Ben Supnik 在他们的开发者博客上发表了一篇新文章,详细介绍了即将在即将推出的 x-plane 12 模拟器中引入的“光度学”照明引擎背后的技术细节。 开始发布后,开发人员确认 X-Plane 12 移至光度学渲染器,该渲染器通过使用以实际物理单位 (nits) 指定的真实世界光级渲染光来提高视觉保真度。转向光度测量旨在更好地利用现代显卡大大增加的功能。 这与当前引擎形成鲜明对比,后者是传统的“低动态范围”渲染器,使用范围从 0 到 255 的值(因为当时的监视器和技术在能力上相当有限),具体而言,Supnik 指的是过时的天空以及 X-Plane 长期使用的浅色渲染,它使用一组位图纹理来渲染(多个天气插件开发人员试图规避这一点:例如,Enhanced Skyscapes 和 xEnviro 尽管取得了不同程度的成功)。
通过重写照明引擎以使用真实世界的指标,即每平方米坎德拉 (cd/m^2),模拟器能够复制更广泛的照明条件。对此,Supnik 解释说“X-Plane 12 的渲染管线从头到尾完全是 HDR”。该团队使用曝光值对充当“你的眼睛”的相机行为进行建模,并创建了一个色调映射器来平衡曝光水平,以便同时在屏幕上包含更多细节和明亮色彩。(色调映射是一种将一组颜色映射到另一组颜色以在动态范围有限的介质(例如大多数显示器)中近似 HDR 图像外观的技术)。 “X-Plane 12 的渲染管线从头到尾完全是 HDR,使用 16 位浮点编码来保持更宽的亮度动态范围。”
附带说明一下,光度渲染在计算机图形领域并不是什么新鲜事,这在很大程度上仍然取决于编码员/艺术家的解释。Supnik 解释说,艺术团队采取了一些艺术自由,为了易读性和美感而放弃了现实主义;曝光水平受时间、天气条件和自动曝光机制的影响,该机制使相机在黑暗中变得更加敏感(以帮助阅读面板),而在严酷的照明条件下变得不那么敏感(以避免失明)。
回到天空渲染,新的照明重写将其全部与放弃上述位图天空纹理以遵循光规则的技术实现联系在一起;大气的成分、视角、太阳的亮度等因素弥补了天空的外观。
“天空是蓝色的(氧分子)是有原因的,我们通过模拟散射效应得到了蓝天。”
由于它不再受过去基于平面纹理的天空的约束,新的实现适用于所有视角和位置,因此渲染的蓝天会影响场景的总体色调(在这种情况下,将呈现从空中俯视地球时熟悉的“蓝色”色调)。
对于附加开发人员来说,他们可以通过简化向他们的产品(风景和飞机)添加照明的过程,而不是通过使用不熟悉的值仔细调整照明强度来近似——使用真实世界的单位可以使他们从这个实现中受益匪浅。开发人员只需在现实世界中查找光组件的实际值(例如,驾驶舱中的真实 LCD 显示器发出 500 尼特的亮度 - 开发人员可以简单地输入相同的“500”尼特值而不是估计“0.954”在现实生活中的含义)。
不用说,新光照引擎和天空的引入将改进开发过程,模拟器的渲染将更贴近现实世界。这就是开发帖子的内容,文章中的视频预览是在 6 月初在 FExpo 和 X-Plane 12 揭幕之前展示的。像往常一样,阈值将保持循环以让您了解最新情况。如果您想查看原始博客,请访问原始开发人员帖子。
|