700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > draco压缩引擎学习笔记(一)

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

时间:2020-09-06 04:52:54

相关推荐

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

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对象,后者可以返回点云对象。例如官方文档的代码。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。