draco压缩引擎学习笔记(一)

本文介绍Draco JavaScript API的使用方法,包括如何利用encoder API压缩三维网格和点云数据,以及如何通过decoder API解压这些数据。通过创建DracoEncoderModule和DracoDecoderModule实例,并调用相应的方法实现数据的压缩和解压。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript API
1.encoder api:
翻译官方文档:js encoder 位于javascript/draco_encoder.js。这个encoder API 可以用来压缩mesh和点云。为了使用压缩器,你需要创建一个实例
DracoEncoderModule,然后用这个实例去创建MeshBuilder and Encoder 对象。MeshBuilder 被用来构建一个来自几何数据的mesh,这个几何数据之后可以被
encoder压缩。首先用new encoderModule.Mesh() 创建一个mesh对象,然后用AddFacesToMesh()来添加到这个mesh的索引,然后用AddFloatAttributeToMesh()
来添加属性数据到mesh,例如,位置,法线,色彩和纹理坐标。在一个mesh被构建后,你可以用EncodeMeshToDracoBuffer()去压缩这个mesh.例如官方文档的代码。
example中的渲染代码只是展示three.js如何渲染压缩过后的文件,没有提js api 压缩方法。
2.decoder api:
翻译官方文档:javascript 解码器位于 javascript/draco_decoder.js,这个解码器可以解码mesh和点云。为了用这个解码器,你必须首先创建一个实例DracoDecoderModule,
这个实例被用于创建DecoderBuffer and Decoder 对象。放置解码数据在DecoderBuffer里面。然后调用GetEncodedGeometryType()来识别几何体的类型。比如mesh或是点云。然后调用
DecodeBufferToMesh() or DecodeBufferToPointCloud(),前者可以返回mesh对象,后者可以返回点云对象。例如官方文档的代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值