Merge pull request #11 from fanzhanggoogle/update_js_decoder_doc

Updated doc of JS decoder in README
This commit is contained in:
FanZhang 2017-01-10 11:02:10 -08:00 committed by GitHub
commit 5544c1d3f8

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.