Fix memory corruption and assert failures in convex decomposition
This PR fixes how triangular faces are decomposed into vertices and indices. The pre-increment resulted in the indices table skipping entry 0 and potentially overrunning the end of the vertices vector.
This commit is contained in:
parent
4c96e9676b
commit
bf7cdc5229
|
@ -969,7 +969,7 @@ Vector<Ref<Shape3D>> ImporterMesh::convex_decompose(const Ref<MeshConvexDecompos
|
||||||
if (found_vertex) {
|
if (found_vertex) {
|
||||||
index = found_vertex->value;
|
index = found_vertex->value;
|
||||||
} else {
|
} else {
|
||||||
index = ++vertex_count;
|
index = vertex_count++;
|
||||||
vertex_map[vertex] = index;
|
vertex_map[vertex] = index;
|
||||||
vertex_w[index] = vertex;
|
vertex_w[index] = vertex;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue