You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-31 18:41:20 +00:00
Merge pull request #108038 from arlez80/fix_generate_triangle_mesh
Fix `Mesh.generate_triangle_mesh` when using `PRIMITIVE_TRIANGLE_STRIP`
This commit is contained in:
@@ -360,9 +360,15 @@ Ref<TriangleMesh> Mesh::generate_triangle_mesh() const {
|
||||
}
|
||||
} else { // PRIMITIVE_TRIANGLE_STRIP
|
||||
for (int j = 2; j < ic; j++) {
|
||||
facesw[widx++] = vr[ir[j - 2]];
|
||||
facesw[widx++] = vr[ir[j - 1]];
|
||||
facesw[widx++] = vr[ir[j]];
|
||||
if (j % 2 == 0) {
|
||||
facesw[widx++] = vr[ir[j - 2]];
|
||||
facesw[widx++] = vr[ir[j - 1]];
|
||||
facesw[widx++] = vr[ir[j]];
|
||||
} else {
|
||||
facesw[widx++] = vr[ir[j - 2]];
|
||||
facesw[widx++] = vr[ir[j]];
|
||||
facesw[widx++] = vr[ir[j - 1]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -373,9 +379,15 @@ Ref<TriangleMesh> Mesh::generate_triangle_mesh() const {
|
||||
}
|
||||
} else { // PRIMITIVE_TRIANGLE_STRIP
|
||||
for (int j = 2; j < vc; j++) {
|
||||
facesw[widx++] = vr[j - 2];
|
||||
facesw[widx++] = vr[j - 1];
|
||||
facesw[widx++] = vr[j];
|
||||
if (j % 2 == 0) {
|
||||
facesw[widx++] = vr[j - 2];
|
||||
facesw[widx++] = vr[j - 1];
|
||||
facesw[widx++] = vr[j];
|
||||
} else {
|
||||
facesw[widx++] = vr[j - 2];
|
||||
facesw[widx++] = vr[j];
|
||||
facesw[widx++] = vr[j - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user