mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-04-21 05:09:52 +08:00
53 lines
1.3 KiB
Markdown
53 lines
1.3 KiB
Markdown
|
|
## Sequential Integer Attribute Decoder
|
|
|
|
~~~~~
|
|
Initialize(...) {
|
|
SequentialAttributeDecoder_Initialize()
|
|
}
|
|
~~~~~
|
|
|
|
|
|
### DecodeValues()
|
|
|
|
~~~~~
|
|
DecodeValues(point_ids) {
|
|
prediction_scheme_method I8
|
|
if (prediction_scheme_method != PREDICTION_NONE) {
|
|
prediction_transform_type I8
|
|
prediction_scheme_ = CreateIntPredictionScheme(...)
|
|
}
|
|
if (prediction_scheme_) {
|
|
}
|
|
DecodeIntegerValues(point_ids)
|
|
//SequentialQuantizationAttributeDecoder_DecodeIntegerValues()
|
|
//StoreValues()
|
|
DequantizeValues(num_values)
|
|
}
|
|
~~~~~
|
|
|
|
|
|
### DecodeIntegerValues()
|
|
|
|
~~~~~
|
|
DecodeIntegerValues(point_ids) {
|
|
compressed UI8
|
|
if (compressed) {
|
|
DecodeSymbols(..., values_.data())
|
|
} else {
|
|
// TODO
|
|
}
|
|
if (!prediction_scheme_->AreCorrectionsPositive()) {
|
|
ConvertSymbolsToSignedInts(...)
|
|
}
|
|
if (prediction_scheme_) {
|
|
prediction_scheme_->DecodePredictionData(buffer)
|
|
// DecodeTransformData(buffer)
|
|
if (!values_.empty()) {
|
|
prediction_scheme_->Decode(values_.data(), &values_[0],
|
|
values_.size(), num_components, point_ids.data())
|
|
// MeshPredictionSchemeParallelogram_Decode()
|
|
}
|
|
~~~~~
|
|
|