diff --git a/docs/guides/BROWSER.md b/docs/guides/BROWSER.md new file mode 100644 index 0000000..5ebf14d --- /dev/null +++ b/docs/guides/BROWSER.md @@ -0,0 +1,108 @@ +# Using Draco in the Browser +This guide will show you how to use Draco files from the browser. + +## JavaScript Decode + +This is a minimal example to show how to use the Draco JavaScript deocder to +decode Draco files in the browser. + +This is the minimal amount of code to decode a Draco file: +~~~ +// Create the Draco decoder. +const decoderModule = DracoDecoderModule(); +const buffer = new decoderModule.DecoderBuffer(); +buffer.Init(byteArray, byteArray.length); + +// Create a buffer to hold the encoded data. +const decoder = new decoderModule.Decoder(); +const geometryType = decoder.GetEncodedGeometryType(buffer); + +// Decode the encoded geometry. +let outputGeometry; +let status; +if (geometryType == decoderModule.TRIANGULAR_MESH) { + outputGeometry = new decoderModule.Mesh(); + status = decoder.DecodeBufferToMesh(buffer, outputGeometry); +} else { + outputGeometry = new decoderModule.PointCloud(); + status = decoder.DecodeBufferToPointCloud(buffer, outputGeometry); +} + +// You must explicitly delete objects created from the DracoDecoderModule +// or Decoder. +decoderModule.destroy(outputGeometry); +decoderModule.destroy(decoder); +decoderModule.destroy(buffer); +~~~ + +Now create a web page to decode a Draco file and just output the number of +points decoded. Save this file as *DracoDecode.html*. +~~~ + + + + Draco Decoder - Simple + + + + + + +~~~ + +Copy *bunny.drc* to the same folder as *DracoDecode.html*. Serve *DracoDecode.html* from a webserver, such as *python -m SimpleHTTPServer*. Open *DracoDecode.html* in a browser, you should see an alert message with xxxxx points decoded. + diff --git a/docs/guides/README.md b/docs/guides/README.md new file mode 100644 index 0000000..633e51f --- /dev/null +++ b/docs/guides/README.md @@ -0,0 +1,8 @@ +GUIDES +====== + +_**Contents**_ + + * [Command Line Applications](COMMAND_LINE_APPLICATIONS.md) + * [Browser](BROWSER.md) + * [JavaScript Decode](BROWSER.md#JavaScript-Decode)