draco/docs/spec/draco.decoder.md
Frank Galligan 4efc3d27cc Update bitstream spec
This PR is associated with #134.
2017-07-22 22:35:54 -07:00

50 lines
1.2 KiB
Markdown

## Draco Decoder
### Decode()
~~~~~
Decode() {
DecodeHeader()
if (flags & METADATA_FLAG_MASK)
DecodeGeometryMetadata(metadata)
DecodeConnectivityData()
DecodeAttributeData()
}
~~~~~
{:.draco-syntax}
### DecodeHeader()
~~~~~
DecodeHeader() {
draco_string UI8[5]
major_version UI8
minor_version UI8
encoder_type UI8
encoder_method UI8
flags
}
~~~~~
{:.draco-syntax}
### DecodeAttributeData()
~~~~~
DecodeAttributeData() {
num_attributes_decoders UI8
for (i = 0; i < num_attributes_decoders; ++i) {
CreateAttributesDecoder(i);
}
for (auto &att_dec : attributes_decoders_) {
att_dec->Initialize(this, point_cloud_)
}
for (i = 0; i < num_attributes_decoders; ++i) {
attributes_decoders_[i]->DecodeAttributesDecoderData(buffer_)
}
DecodeAllAttributes()
OnAttributesDecoded()
~~~~~
{:.draco-syntax}