Cesium中加载GaussianSplatting模型

Gaussian Splatting

Gaussian Splatting (高斯泼溅) 是近段时间,三维视觉领域热度极高的一项突破性工作。

2020 年提出的 NeRF 等辐射场方法彻底改变了多张照片或视频主导的场景新视角合成的算法生态,但训练、渲染的速度与质量仍存在瓶颈。Gaussian Splatting 在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是允许在 1080p 分辨率下实现高质量的实时(≥30 fps)的新视图合成。

基于 3D Gaussian Splatting 的 SLAM 不仅全面继承了 NeRF-based SLAM 方法的优点,而且全面补足了其短板(渲染速度慢、图像质量不高、定位精度欠佳等),实现了更好的实时性、更好的渲染质量、更精确的定位精度。

3D Gaussian Splatting对比之前的NeRF算法

在这里插入图片描述

一些加载 Gaussian Splatting 的 Web 库

Web 端渲染 Gaussian Splatting 目前已经有很多现成的开源库,比如:

  1. gaussian-splatting-web 使用 WebGPU 的渲染器
  2. splat 不是用任何外部依赖的 WebGL 渲染器
  3. GaussianSplats3D 基于 Three.js 实现的渲染器
  4. super-splat Web 端的 Gaussian Splatting 编辑器
  5. Babylon.js 目前,新版本的 Babylon.js 也支持了渲染 Gaussian Splatting

遗憾的是 Cesium 是没有相关的渲染库的。

在 Cesium 中加载

由于没有现成的渲染库,因此只能考虑移植其他的库。这里我移植的是 GaussianSplats3D

其实实现过程并不算复杂(但确实踩了不少坑),无非就是将 GaussianSplats3D 内部所有的 Three.js 的实现全部换成用 Cesium 来实现即可。

Cesium 的 WebGL 2.0 支持程度不高

在移植库的过程中,很容易发现,Cesium 不支持 GaussianSplats3D 中使用到的一些 WebGL 2.0 的规范和数据类型。

Cesium 虽然说支持 WebGL 2.0,但是这个 “支持” 其实更多的是 “兼容” ,很多 WebGL 2.0 的规范是没有实现的。

要解决这个问题,目前就只能通过修改 Cesium 的源码去实现。

实际效果展示

Cesium加载GaussianSplatting

原文链接

Cesium中加载GaussianSplatting模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值