Cesium开发: Draco模型压缩

简介: Cesium开发: Draco模型压缩

Draco 由谷歌 Chrome 媒体团队设计,旨在大幅加速 3D 数据的编码、传输和解码。Draco的研发团队将这个开源算法的首要应用在chorme浏览器上。谷歌将这个算法开源,现在全世界的开发者可以去探索 Draco 在其他场景的应用。目前谷歌提供了两个代码版本:JavaScript 和 C++。
image.png
Draco可以用来压缩 mesh 和点云数据。它还支持压缩点( compressing points),连接信息,纹理协调,颜色信息,法线( normals)以及其他与几何相关的通用属性。

draco的github项目地址:

https://github.com/google/draco

Cesium1.44开始支持解析draco压缩算法的gltf/glb模型,将模型使用具有draco算法的工具进行压缩,例如blender等,Cesium加载模型时,进行模型的解析。

对比使用draco算法压缩的模型,模型的数据量变小了相当多,这样会提高网络上的传输速度。

在3D Tiles的大批量模型中,使用这一算法进行提前压缩,可以大大的减少网络传输的数据量。

Cesium官方还专门写了这样的一篇博客:

https://cesium.com/blog/2018/04/09/draco-compression/

同时,Cesium在前端使用了Web Assembly的技术进行模型的解析,更提高了模型的解析性能,在Cesium的发行包中,可以看到Web Assembly技术的draco_decoder.wasm文件。
在压缩提高传输速度的情况下,模型的质量并没有减小。

相关文章
|
8月前
|
编解码 图形学 C++
如何在Blender中压缩/减小GLTF模型的大小
Blender是一款功能强大的开源软件,旨在创建3D图形,动画和视觉效果。它支持多种文件格式的导入和导出,包括GLB,GLTF,DAE,OBJ,ABC,USD,BVH,PLY,STL,FBX和X3D。这种适应性使其成为各种3D项目和工作流程的宝贵工具。(https://www.blender.org/download/)。
293 0
Cesium系列:加载单个模型
Cesium如何加载单个三维模型数据
323 0
|
15天前
|
存储
THREEJS实战6_加载fbx模型
THREEJS实战6_加载fbx模型
52 1
|
8月前
|
存储 定位技术 图形学
Blender插件:GLTF 2.0 导入/导出工具
Blender插件:GLTF 2.0 导入/导出工具
212 0
|
10月前
|
JSON 数据格式
Cesium开发:模型的CZML文件
Cesium开发:模型的CZML文件
312 0
|
JSON 算法 数据可视化
⚡Three.js-在场景中导入3D动画模型
⚡Three.js-在场景中导入3D动画模型
46973 4
⚡Three.js-在场景中导入3D动画模型
|
11月前
|
存储
threejs实战_加载fbx模型
threejs实战_加载fbx模型
362 0
threejs实战_加载fbx模型
|
12月前
|
前端开发 JavaScript
Cesium开发:转换gltf、glb
Cesium开发:转换gltf、glb
312 0
|
Linux C# Windows
Cesium系列:dae模型转gltf
如何将dae格式模型转成gltf格式
274 0
|
JSON JavaScript 定位技术
分享cesium开源vectortile数据加载
分享cesium开源vectortile数据加载
497 0