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