draco/docs/spec/variable.descriptions.md
2017-10-24 14:17:42 -07:00

292 lines
8.3 KiB
Markdown

## Descriptions
### Constants
* Mesh encoding methods
* 0: MESH_SEQUENTIAL_ENCODING
* 1: MESH_EDGEBREAKER_ENCODING
* Metadata constants
* 32768: METADATA_FLAG_MASK
* Sequential attribute encoding methods
* 0: SEQUENTIAL_ATTRIBUTE_ENCODER_GENERIC
* 1: SEQUENTIAL_ATTRIBUTE_ENCODER_INTEGER
* 2: SEQUENTIAL_ATTRIBUTE_ENCODER_QUANTIZATION
* 3: SEQUENTIAL_ATTRIBUTE_ENCODER_NORMALS
* Sequential indices encoding methods
* 0: SEQUENTIAL_COMPRESSED_INDICES
* 1: SEQUENTIAL_UNCOMPRESSED_INDICES
* Prediction encoding methods
* -2: PREDICTION_NONE
* 0: PREDICTION_DIFFERENCE
* 1: MESH_PREDICTION_PARALLELOGRAM
* 4: MESH_PREDICTION_CONSTRAINED_MULTI_PARALLELOGRAM
* 5: MESH_PREDICTION_TEX_COORDS_PORTABLE
* 6: MESH_PREDICTION_GEOMETRIC_NORMAL
* Prediction scheme transform methods
* 1: PREDICTION_TRANSFORM_WRAP
* 3: PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON_CANONICALIZED
* Mesh traversal methods
* 0: MESH_TRAVERSAL_DEPTH_FIRST
* 1: MESH_TRAVERSAL_PREDICTION_DEGREE
* Mesh attribute encoding methods
* 0: MESH_VERTEX_ATTRIBUTE
* 1: MESH_CORNER_ATTRIBUTE
* EdgeBreaker encoding methods
* 0: STANDARD_EDGEBREAKER
* 2: VALENCE_EDGEBREAKER
* EdgeBreaker constants
* -1: kInvalidCornerIndex
* 0: LEFT_FACE_EDGE
* 1: RIGHT_FACE_EDGE
* 2: kTexCoordsNumComponents
* 4: kMaxNumParallelograms
* 3: kMaxPriority
* EdgeBreaker bit pattern constants
* 0: TOPOLOGY_C
* 1: TOPOLOGY_S
* 3: TOPOLOGY_L
* 5: TOPOLOGY_R
* 7: TOPOLOGY_E
* Valence EdgeBreaker constants
* 2: MIN_VALENCE
* 7: MAX_VALENCE
* 6: NUM_UNIQUE_VALENCES
* ANS constants
* 256: rabs_ans_p8_precision
* 1024: rabs_ans_p10_precision
* 4096: rabs_l_base
* 256: IO_BASE
* 4096: L_RANS_BASE
* 16384: TAGGED_RANS_BASE
* Symbol encoding methods
* 0: TAGGED_SYMBOLS
* 1: RAW_SYMBOLS
### Variables
#### Header
* draco_string
* Must equal "DRACO"
* major_version
* bitstream major version number
* minor_version
* bitstream minor version number
* encoder_type
* 0: POINT_CLOUD
* 1: TRIANGULAR_MESH
* encoder_method
* 0: MESH_SEQUENTIAL_ENCODING
* 1: MESH_EDGEBREAKER_ENCODING
* flags
#### Metadata
* num_att_metadata
* Attribute metadata count
* att_metadata_id
* Array of attribute metadata ids
* att_metadata
* Array of attribute metadata
* file_metadata
* Global metadata
#### Sequential Encoding
* num_points
* Number of encoded points
* connectivity_method
#### EdgeBreaker Encoding
* edgebreaker_traversal_type
* 0: MeshEdgeBreakerTraversalDecoder
* 1: MeshEdgeBreakerTraversalPredictiveDecoder
* 2: MeshEdgeBreakerTraversalValenceDecoder
* num_new_vertices
* Number of new vertices
* num_encoded_vertices
* Number of encoded vertices
* num_faces
* Number of encoded faces
* num_attribute_data
* Number of encoded attributes
* num_encoded_symbols
* Number of encoded EdgeBreaker symbols
* num_encoded_split_symbols
* Number of encoded EdgeBreaker split symbols
* encoded_connectivity_size
* Size of encoded connectivity data in bytes
* num_topology_splits
* source_id_delta
* Array of delta encoded source symbol ids
* split_id_delta
* Array of delta encoded split symbol ids
* source_edge_bit
* Array of source edge types
* 0: LEFT_FACE_EDGE
* 1: RIGHT_FACE_EDGE
* source_symbol_id
* Array of source symbol ids
* split_symbol_id
* Array of split symbol ids
* last_symbol_
* Last EdgeBreaker symbol decoded
* last_vert_added
* Id of the last vertex decoded
* active_corner_stack
* Array of current working corners used during EdgeBreaker decoding
* edge_breaker_symbol_to_topology_id
* Array of EdgeBreaker symbols
* 0: TOPOLOGY_C
* 1: TOPOLOGY_S
* 2: TOPOLOGY_L
* 3: TOPOLOGY_R
* 4: TOPOLOGY_E
* topology_split_id
* List of decoder split ids encountered during a topology split.
* split_active_corners
* List of corners encountered during a topology split.
#### EdgeBreaker Traversal
* eb_symbol_buffer_size
* eb_symbol_buffer
* Standard EdgeBreaker encoded symbol data
* eb_start_face_buffer_prob_zero
* Face configuration encoded probability
* eb_start_face_buffer_size
* eb_start_face_buffer
* EdgeBreaker encoded face configuration data
* attribute_connectivity_decoders_prob_zero
* Array of encoded attribute probabilities
* attribute_connectivity_decoders_size
* Array of attribute connectivity size
* attribute_connectivity_decoders_buffer
* Array of attribute connectivity data
#### EdgeBreaker Valence Traversal
* ebv_context_counters
* Array of number of context symbols
* ebv_context_symbols
* Array of encoded context symbol data
* active_context_
* Index to the current valence
* vertex_valences_
* Array of current vertices valences
#### Attribute Encoding
* num_attributes_decoders
* att_dec_data_id
* Array of attribute decoder ids
* att_dec_decoder_type
* Array of attribute decoder types
* 0: MESH_VERTEX_ATTRIBUTE
* 1: MESH_CORNER_ATTRIBUTE
* att_dec_traversal_method
* Array of attribute traversal methods
* 0: MESH_TRAVERSAL_DEPTH_FIRST
* 1: MESH_TRAVERSAL_PREDICTION_DEGREE
* att_dec_num_values_to_decode
* Number of values to decode per attribute
* att_dec_num_attributes
* Array of number of attributes encoded per attribute type
* att_dec_att_type
* att_dec_data_type
* Attribute's data type
* att_dec_num_components
* Attribute's component count
* att_dec_normalized
* att_dec_unique_id
* Attribute's unique encoded id
* seq_att_dec_decoder_type
* Array of attribute encoding type
* 0: SEQUENTIAL_ATTRIBUTE_ENCODER_GENERIC
* 1: SEQUENTIAL_ATTRIBUTE_ENCODER_INTEGER
* 2: SEQUENTIAL_ATTRIBUTE_ENCODER_QUANTIZATION
* 3: SEQUENTIAL_ATTRIBUTE_ENCODER_NORMALS
* seq_att_dec_prediction_scheme
* Array of attribute prediction scheme method
* -2: PREDICTION_NONE
* 0: PREDICTION_DIFFERENCE
* 1: MESH_PREDICTION_PARALLELOGRAM
* 4: MESH_PREDICTION_CONSTRAINED_MULTI_PARALLELOGRAM
* 5: MESH_PREDICTION_TEX_COORDS_PORTABLE
* 6: MESH_PREDICTION_GEOMETRIC_NORMAL
* seq_att_dec_prediction_transform_type
* Array of attribute prediction transform method
* 1: PREDICTION_TRANSFORM_WRAP
* 3: PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON_CANONICALIZED
* seq_int_att_dec_compressed
* pred_cons_multi_is_cease_edge
* Array for multi parallelogram prediction signifying if the edge is the last edge
* pred_tex_coords_orientaitons
* Array signifying orientation for the texture coordinate prediction
* pred_trasnform_wrap_min
* Array of minimum clamp values used by the wrap transform
* pred_trasnform_wrap_max
* Array of maximum clamp values used by the wrap transform
* pred_trasnform_normal_max_q_val
* Maximum quantization array used by the normal transform
* pred_transform_normal_flip_normal_bits
* Array of flags used by the normal transform
* seq_int_att_dec_decoded_values
* Array of attribute decoded symbols
* seq_int_att_dec_symbols_to_signed_ints
* Array of decoded symbols converted to signed ints
* seq_int_att_dec_original_values
* Array containing the attribute's original quantized values
* seq_int_att_dec_dequantized_values
* Array containing the attribute's original values
* quantized_data_min_values
* Array of minimum quantization values
* quantized_data_max_value_df
* Array of quantization range
* quantized_data_quantization_bits
* Array of number of quantization bits
#### Attribute Traversal
* curr_att_dec
* Current attribute decoder type
* curr_att
* Current attribute within a decoder type
* vertex_visited_point_ids
* Array of the last vertex visited per attribute
* att_connectivity_seam_opp
* att_connectivity_seam_src
* att_connectivity_seam_dest
* corner_to_point_map
* is_edge_on_seam_
* Array of bools signifying if the corner's opposite edge is on a seam
* encoded_attribute_value_index_to_corner_map
* Array for storing the corner ids in the order their associated attribute entries were encoded
* vertex_to_encoded_attribute_value_index_map
* Array for storing encoding order of attribute entries for each vertex
* indices_map_
* prediction_rans_prob_zero
* Current rans zero probability
* prediction_rans_data_size
* Current size of rans encoded data
* tex_coords_num_orientations
* Current number of orientations for encoded Texture data
* traversal_stacks_
* Array of available corners
* best_priority_
* Current best available priority
* prediction_degree_
* Array of current degree prediction for each vertex
* constrained_multi_num_flags