Skyglow: 用于保护黑暗环境的基于浏览器的光污染模拟器

光污染,即过度或不当使用人工光,是一个日益严重的问题,对夜间生态系统、人类健康以及我们观测星空的能力都有重大影响。理解并缓解这一问题需要有效的可视化和分析工具。一个名为 "Skyglow: Darkness Preservation Simulator" 的新项目旨在通过提供一个基于浏览器的、交互式的平台,利用真实的测光数据来分析光污染,从而解决这一问题。

该模拟器提供了一种新颖的方法来参与光污染这一复杂话题,允许用户在模拟环境中探索其影响。通过让此类工具直接通过 Web 浏览器访问,它降低了研究人员、城市规划者以及关注此问题的公民的准入门槛,从而培养更广泛的意识并辅助明智的决策。

Skyglow 模拟器:概述

"Skyglow: Darkness Preservation Simulator" 被呈现为一个利用测光数据的交互式光污染分析工具。演示版本包含一个约 25 MB 的 "Bistro Exterior scene",为模拟提供了详细的环境。其核心理念是允许用户操纵照明场景并观察由此产生的对天空辉光(skyglow)的影响,旨在展示保护自然黑暗环境的重要性。

利用测光数据

该模拟器的关键方面在于其使用真实的测光数据,特别是 LDT/IES (Eulumdat/Illuminating Engineering Society) 文件。这些文件包含有关灯具如何分布光线的详细信息,使得模拟基于真实的照明特性。这种对使用准确数据的承诺对于模拟器的可信度及其作为教育和分析工具的潜力至关重要。

技术实现与浏览器兼容性

该模拟器利用现代 Web 技术来提供其交互式体验。采用的主要渲染技术是 WebGPU,这是一种尖端的 Web 标准,可直接在浏览器中提供先进的图形和计算能力。

WebGPU 及其挑战

虽然 WebGPU 提供了显著优势,但其在所有浏览器中的采用和稳定实现仍在不断演进中。作者 @holg 指出了特定的兼容性问题:

I should have mentioned: WebGPU is needed, on Safari there is a bug in the Bevy Overlay, so you only see flickering (very annoying!) This is an upstream issue (on to it) So FF and Chrome works fine (if WebGPU is enabled!)

这突显了在使用新兴 Web 技术部署应用时面临的常见挑战,其中浏览器特定的 Bug 会阻碍用户体验。为了获得最佳性能,建议用户使用启用了 WebGPU 的 Firefox 或 Chrome。

WebGL2 回退机制

意识到并非所有用户都可能启用或支持 WebGPU,作者迅速实现了一个回退机制。添加了 WebGL2 版本以确保更广泛的访问性,尽管可能会导致质量下降:

Ok, even so the quality degrades a lot, i added the webgl2 version, it shall load as fallback, if webgpu is not enabled, but can as well be enforced, to see the difference: https://iesna.eu/?wasm=skyglow_demo&force=webgl2

这展示了一种务实的开发方法,在尖端功能与面向更广泛受众的实际访问性之间取得了平衡。

早期用户反馈与改进领域

与早期演示版本常见的情况一样,初始用户反馈指出了技术障碍和需要改进的概念领域。

初始访问性障碍

一些用户甚至在与模拟本身进行交互之前就遇到了问题。例如,一位用户报告:

All I get is an empty, dark blue page after I hit Launch Demo. Perhaps that does look a bit like a night sky, but I don't think that's what you're going for :)

此类报告强调了强大的错误处理和清晰的用户引导的重要性,尤其是在处理不同的浏览器配置和硬件能力时。

表现“感官质量 (Qualia)”的黑暗

一段更为深刻的反馈涉及模拟器准确传达光污染及其缺失所带来的 经验 的能力。一位用户对模拟器在教育光污染方面的严肃性感知不足表示了担忧:

I love the idea, but it feels very un-serious as an attempt to educate people or reduce light pollution, which makes me very sad as someone who cares about reducing light pollution :'( Why can't I create any light pollution no matter what I do? The stars wink out when the light pollution is 1000x less bright than the stars. It just feels completely disconnected from what I know light pollution feels like.

这一批评突显了模拟中一个至关重要的挑战:准确地表现人类的主观感知,即 "qualia"。该用户建议了一种技术方法来改进这一点,建议通过压缩颜色空间来更好地在显示器上表现光线及其缺失的视觉影响。他们推荐了 Brandon Li 的关于光谱的研究作为参考:

If I may make a technical suggestion, accurately representing the "qualia" of what both the presence and absence of colorful light feels like on a monitor requires compressing the color space a bit. Take a gander at this: https://brandonli.net/spectra/doc/

这一反馈为未来的开发提供了一条宝贵的路径,建议除了原始数据的准确性之外,模拟的 感知保真度 也是其作为教育工具有效性的关键。

结论

"Skyglow: Darkness Preservation Simulator" 代表了向使光污染分析更具访问性和交互性迈出的雄心勃勃且重要的一步。通过利用真实的测光数据和 WebGPU 等现代 Web 技术,如 WebGPU,它为强大的教育和分析工具奠定了坚实的基础。虽然早期反馈指出了浏览器兼容性方面的技术挑战以及准确模拟人类对光和黑暗的的细微差别任务的挑战,但该项目的快速迭代,如添加 WebGL2 回退机制,如此展示了对改进的持续承诺。解决这些领域将进一步增强其在持续保护我们星空努力中的效用和影响。

Sources