Updated doc of JS decoder in README

This commit is contained in:
Fan Zhang 2017-01-10 10:58:08 -08:00
parent c7e3b7b8da
commit 1dbbf207f4

View File

@ -250,21 +250,28 @@ Javascript Decoder
------------------ ------------------
The Javascript decoder is located in `javascript/draco_decoder.js`. The The Javascript decoder is located in `javascript/draco_decoder.js`. The
Javascript decoder can currently only decode mesh geometry. In order to use the Javascript decoder can decode mesh and point cloud. In order to use the
decoder you must create `DecoderBuffer` and `WebIDLWrapper` objects. Set the decoder you must first create `DecoderBuffer` and `WebIDLWrapper` objects. Set the
encoded data in the `DecoderBuffer`. Then call `DecodeMeshFromBuffer()`, which encoded data in the `DecoderBuffer`. Then call `GetEncodedGeometryType()` to identify
will return a Mesh object. E.g. the type of geometry, e.g. mesh or point cloud. Then call either `DecodeMeshFromBuffer()` or
`DecodePointCloudFromBuffer()` which will return a Mesh object or a point cloud. E.g.
~~~~~ js ~~~~~ js
var buffer = new Module.DecoderBuffer(); var buffer = new Module.DecoderBuffer();
buffer.Init(encFileData, encFileData.length); buffer.Init(encFileData, encFileData.length);
var wrapper = new WebIDLWrapper(); var wrapper = new WebIDLWrapper();
var outputMesh = wrapper.DecodeMeshFromBuffer(buffer); const geometryType = wrapper.GetEncodedGeometryType(buffer);
let outputGeometry;
if (geometryType == DracoModule.TRIANGULAR_MESH) {
var outputGeometry = wrapper.DecodeMeshFromBuffer(buffer);
} else {
var outputGeometry = wrapper.DecodePointCloudFromBuffer(buffer);
}
destroy(outputMesh); DracoModule.destroy(outputGeometry);
destroy(wrapper); DracoModule.destroy(wrapper);
destroy(buffer); DracoModule.destroy(buffer);
~~~~~ ~~~~~
Please see `javascript/emscripten/draco_web.idl` for the full API. Please see `javascript/emscripten/draco_web.idl` for the full API.