| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // 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);
- }
|