Spaces:
Running
Running
| // This is a minimal example showing how to create the Draco decoder and | |
| // encoder module. The modules are created asynchronously, so you need to set | |
| // callbacks to make sure they are initialized before you try and call the | |
| // modules. | |
| 'use_strict'; | |
| const draco3d = require('./draco3d'); | |
| // Global decoder and encoder module variables. | |
| let decoderModule = null; | |
| let encoderModule = null; | |
| // The code to create the encoder and decoder modules is asynchronous. | |
| // draco3d.createDecoderModule will return a promise to a funciton with a | |
| // module as a parameter when the module has been fully initialized. | |
| // Create and set the decoder module. | |
| draco3d.createDecoderModule({}).then(function(module) { | |
| // This is reached when everything is ready, and you can call methods on | |
| // Module. | |
| decoderModule = module; | |
| console.log('Decoder Module Initialized!'); | |
| moduleInitialized(); | |
| }); | |
| // Create and set the encoder module. | |
| draco3d.createEncoderModule({}).then(function(module) { | |
| // This is reached when everything is ready, and you can call methods on | |
| // Module. | |
| encoderModule = module; | |
| console.log('Encoder Module Initialized!'); | |
| moduleInitialized(); | |
| }); | |
| function moduleInitialized() { | |
| if (encoderModule && decoderModule) { | |
| console.log('Both Modules Initialized!'); | |
| let encoder = new encoderModule.Encoder(); | |
| let decoder = new decoderModule.Decoder(); | |
| // Do the actual encoding and decoding here. See 'draco_nodejs_example.js' | |
| // for a more comprehensive example. | |
| cleanup(encoder, decoder); | |
| } | |
| } | |
| function cleanup(encoder, decoder) { | |
| encoderModule.destroy(encoder); | |
| decoderModule.destroy(decoder); | |
| } | |