当前位置:   article > 正文

Cesium中加载GaussianSplatting模型_webgl渲染gassian splatting

webgl渲染gassian splatting

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模型

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/932109
推荐阅读
  

闽ICP备14008679号