CesiumJS 路线图——下一步

时光飞逝。想到 CesiumJS 才刚满 10 岁,这真是了不起。在那段时间里,CesiumJS 已经累积了 200 万次下载,仅去年一年就接近 100 万次。CesiumJS 将我们从航空航天带到无人机,从地下到海底再到建筑工地。

来自@CesiumJS 的一条推文,内容为“我们期待已久的 #webgl 无插件地球 - Cesium 1.0 现已可用!cesiumjs.org/2014/08/01/Ces…”,日期为 2014 年 8 月 4 日上午 6:37
CesiumJS 1.0 于 2014 年在 Twitter 上发布。

您,3D 地理空间社区,已经将 CesiumJS 带给了数千万最终用户。CesiumJS 是 Cesium 开放式 3D 地理空间平台的基石;它是专门构建的、基于 Web 的,并且构建在完全开放的技术堆栈上。

我仍然深情地记得第一次代码提交(完成了我可能添加的单元测试),第一个 alpha 版本只有一个纹理包裹的椭球,以及社区论坛的第一篇帖子,现在有超过 45,000 个帖子,其中无数其他里程碑。CesiumJS 与 WebGL 生态系统一起成长,CesiumJS 的开源历史与两个现在突出的开放标准密切相关:glTF 和 3D Tiles。

11 件不同颜色的 T 恤折叠起来,所以你可以看到每件上的 Cesium 标志和设计。
铯 T 恤,当时和现在。

CesiumJS 的影响甚至超出了我的预期。我们没有人能够预测过去的十年,也没有人能够预测接下来的十年。然而,我将分享我们明年左右的 CesiumJS 计划。

根据我们的愿景、您的社区反馈和技术趋势,路线图包括:

3D 瓷砖下一步
glTF:KTX 2.0、MESHOPT 和 PBR Next
海底
开发商的安慰
学习材料和持续维护
3D 瓷砖下一步
3D Tiles 是流式传输海量异构 3D 地理空间数据的开放标准。它被 OGC 采纳为社区标准,它一直是 Cesium 释放 3D 地理空间潜力使命的核心。

自 2015 年推出 3D Tiles 以来,我们已经看到了几个趋势和机遇:

人工智能和机器学习的进步生成语义丰富的元数据
跨行业对 3D 地理空间数据进行空间和时间索引的需求
建模和模拟社区从典型地质模型到具体地质模型的转变
使用通用空间数据结构进行可视化和分析
需要使用 3D 模型传输矢量叠加
围绕 glTF 的开放生态系统的发展
通过 3D Tiles Next 计划,我们正在推进带有扩展的 3D Tiles 规范,以有效地传输各种粒度的集成元数据,隐式定义用于细分的空间数据结构,并与 glTF 生态系统进行更干净的互操作等增强功能。

显示 3D Tiles 子树和子子树并指示每个 tile 可用的级别的图表。
在这里插入图片描述

隐式平铺将通过八叉树和四叉树的简洁、稀疏表示实现高效的可视化和分析。

为了与我们对开放标准的务实方法保持一致,我们正在开发 CesiumJS 实现以及 Cesium 离子管道,作为 3D Tiles Next 工作的一部分。

我们相信 3D Tiles Next 将成为未来几年整个地理空间生态系统的基础。期待在 GitHub 和我们的博客上听到更多关于它的信息。在此之前,请密切关注 3d-tiles GitHub 存储库中的 3d-tiles-next 分支以获取规范更新,以及 CesiumJS 3d-tiles-next 分支 以获取实现。

说明元数据将能够在细粒度级别与图块关联的图表。
在这里插入图片描述

3D Tiles 中的特征元数据 Next 扩展了 3D Tiles 中的批处理表概念,以使用显式类型系统和语义可扩展性有效传输更细粒度的元数据。

glTF:KTX 2.0、MESHOPT 和 PBR Next
glTF 是有效传输 3D 模型的开放标准。它是将单个 3D 模型加载到 CesiumJS 中的格式,它是 3D Tiles 的有效载荷,我相信它将成为有史以来最广泛采用的 3D 格式。

CesiumJS 从早期就支持 glTF,重要的是 CesiumJS 跟上 glTF 的进步;Cesium 使命的一部分是将创新从计算机图形引入地理空间,而 glTF 是图形创新的温床。

KTX 2.0 支持压缩纹理,用于跨 GPU 供应商的传输和运行时使用,从而实现减少内存、带宽和功耗的通用优化。我们很高兴将其应用于 3D 地理空间,其中通过卫星和无人机捕获的图像正在全球范围内产生纹理爆炸。要提前了解,请参阅 CesiumJS 中的 ktx2-integration 分支。

glTF 的 MESHOPT 扩展定义了缓冲区和几何压缩,可以有效地编码、传输和解码,并在 GPU 内存中保持压缩状态。对于我们的用例,MESHOPT + gzip 压缩几乎与 Draco 或量化网格一样小,但解码速度更快,这是计算机科学中罕见的近乎双赢的权衡。使用 WebAssembly SIMD,可以在现代桌面上每秒解码约 1 GB。在 CesiumJS 中实现 MESHOPT 将提高具有繁重几何、动画或实例的 glTF 模型的性能;高密度 3D Tilesets,例如摄影测量模型;最后,地形。

没有纹理的黑白地形和可见的 3D Tiles 瓷砖。
在这里插入图片描述

使用 MESHOPT 压缩的地形几何图形。

glTF 的 PBR Next 计划汇集了全球基于物理渲染 (PBR) 的专家,将 glTF 的材料表示从金属粗糙度和镜面光泽度提升到支持各种新视觉效果,例如清漆、透射和体积效果。 为 CesiumJS提供对PBR Next 的支持 将提高 glTF 模型和 3D Tiles 的视觉质量。例如,透明涂层将通过代表保护层来增强卫星太阳能电池板,而透射将通过以一种物理上合理的方式来吸收、反射和传输光来表现薄表面透明度,从而增强挡风玻璃和建筑物上玻璃的视觉保真度。

海底
我们的使命从航空航天可视化开始,并扩展到 3D 地理空间的所有事物,因为我们观察到有价值的 3D 地理空间数据可以从负担得起的传感器、先进的摄影测量算法和开放数据政策中获得,仅举几例。

除了可视化地面和地上的物体外,我们还看到人们对可视化海底物体的兴趣越来越大。社区已经在使用 CesiumJS 的地形引擎做到这一点。我们计划通过策划全球测深海底地形图块集以及增加对海洋表面可视化的支持来增强体验。
在这里插入图片描述

马里亚纳海沟水下地形的可视化
马里亚纳海沟使用来自 GEBCO 的开放测深数据进行 4 倍地形放大。

此外,政府正在以更高的分辨率发布更多开放地形数据,我们计划在全球范围内更新 Cesium World Terrain。

开发商的安慰
CesiumJS 拥有超过 33,000 次提交和 200 名终身贡献者,是一个大型项目,对于贡献者和用户来说,开发人员的生产力和舒适度都很重要。自 CesiumJS 诞生以来,JavaScript、Web API、IDE 和工具已经走过了漫长的道路。我们计划利用很多新东西,从原生承诺到更新的测试基础设施,再到更广泛地使用 npm 进行依赖管理。

学习材料和持续维护
真实的教育是 Cesium 使命的一部分。多年来,我们编写了许多教程,发表了数十场会议演讲,在 Sandcastle 中提供了数百个代码示例,并加入了社区,在论坛上回答了数千个问题。

随着 3D 地理空间作为一个领域的发展,学习材料的需求仍然大于供应。因此,我们计划推出有关相机控制、交互式绘图以及在 3D Tiles 中使用和扩展元数据的教程。我们还计划为示例代码存储库创建一个新的 Sandcastle,它可以更好地搜索和组织大量代码示例,以便您可以轻松找到所需的内容。

五个男人围坐在一张桌子旁,每个人都拿着一台笔记本电脑。 一个人的腿上有一只狗。 每个人都在微笑。
2014 年的早期黑客马拉松。我们期待更多的黑客马拉松和 bug bash!

最后,不应低估正在进行的维护。它是项目的心跳,是保持高品质的命脉,是产生新鲜创意的源泉。需要审查来自社区的拉取请求。浏览器中的错误(或修复!)需要对 CesiumJS 进行相应的更新。需要评估用于管理问题的新 GitHub 功能。我们计划在这里增加我们的基本活动。

还有什么?
我们将目光投向了上述所列之外的增强功能。其他感兴趣的项目包括 WebXR、WebGPU、云(你在天空中看到的那些,不要与计算基础设施混淆)、相机 API,以及使用 WebAssembly 来利用我们为 Cesium 开发的 C++ 3D 地理空间例程和 3D Tiles 引擎对于虚幻。

您在 3D 地理空间未来的角色
CesiumJS 是为社区开发的。我们一起为跨行业的集体利益推进 3D 地理空间,这是我们刚开始涉足航空航天时从未想过的。

我们需要您的帮助才能继续保持这种速度。有几种简单的贡献方式:

在 CesiumJS 路线图上的 社区论坛主题中加入并分享您的请求
与我们 合作讲述您的故事,帮助我们讲述 3D 地理空间社区的 故事
在GitHub 上提交 CesiumJS 错误修复, 或者更好的是,贡献具有增强功能的拉取请求

猜你喜欢

转载自blog.csdn.net/u013044828/article/details/117692373