mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-08-12 03:39:06 +08:00
Spec: Fix handling of split symbol id during topology split.
- Addresses a comment in KhronosGroup/glTF#1114
This commit is contained in:
parent
fa537c2fd5
commit
e9fd3a8e0a
@ -180,9 +180,9 @@ void NewActiveCornerReached(new_corner, symbol_id) {
|
||||
case TOPOLOGY_S:
|
||||
{
|
||||
corner_b = active_corner_stack.pop_back();
|
||||
for (i = 0; i < split_active_corners.size(); ++i) {
|
||||
if (split_active_corners[i].decoder_split_symbol_id == symbol_id) {
|
||||
active_corner_stack.push_back(split_active_corners[i].corner);
|
||||
for (i = 0; i < topology_split_id.size(); ++i) {
|
||||
if (topology_split_id[i] == symbol_id) {
|
||||
active_corner_stack.push_back(split_active_corners[i]);
|
||||
}
|
||||
}
|
||||
corner_a = active_corner_stack.back();
|
||||
@ -310,7 +310,8 @@ void NewActiveCornerReached(new_corner, symbol_id) {
|
||||
}
|
||||
// Convert the encoder split symbol id to decoder symbol id.
|
||||
dec_split_id = num_encoded_symbols - enc_split_id - 1;
|
||||
topology_edge_list[dec_split_id] = new_active_corner;
|
||||
topology_split_id.push_back(dec_split_id);
|
||||
split_active_corners.push_back(new_active_corner);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -155,6 +155,10 @@
|
||||
* 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user