draco/docs/spec/variable.descriptions.md
Frank Galligan e3d2fc61cb Spec: Fix Tagged Symbols constant
- Addresses a comment in KhronosGroup/glTF#1114
2017-10-24 13:33:28 -07:00

8.1 KiB

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
  • bit_symbol_buffer
    • Standard EdgeBreaker encoded symbol buffer
  • 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

EdgeBreaker Traversal

  • eb_symbol_buffer_size
  • eb_symbol_buffer
    • 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