Browse Source

Merge pull request #96880 from zeux/fix-vcache-nontri

Fix a crash in `ImporterMesh::create_shadow_mesh` for non-triangle surfaces
Rémi Verschelde 1 year ago
parent
commit
b214aa8faf
1 changed files with 2 additions and 2 deletions
  1. 2 2
      scene/resources/3d/importer_mesh.cpp

+ 2 - 2
scene/resources/3d/importer_mesh.cpp

@@ -859,7 +859,7 @@ void ImporterMesh::create_shadow_mesh() {
 				index_wptr[j] = vertex_remap[index];
 			}
 
-			if (SurfaceTool::optimize_vertex_cache_func) {
+			if (SurfaceTool::optimize_vertex_cache_func && surfaces[i].primitive == Mesh::PRIMITIVE_TRIANGLES) {
 				SurfaceTool::optimize_vertex_cache_func((unsigned int *)index_wptr, (const unsigned int *)index_wptr, index_count, new_vertices.size());
 			}
 
@@ -881,7 +881,7 @@ void ImporterMesh::create_shadow_mesh() {
 					index_wptr[k] = vertex_remap[index];
 				}
 
-				if (SurfaceTool::optimize_vertex_cache_func) {
+				if (SurfaceTool::optimize_vertex_cache_func && surfaces[i].primitive == Mesh::PRIMITIVE_TRIANGLES) {
 					SurfaceTool::optimize_vertex_cache_func((unsigned int *)index_wptr, (const unsigned int *)index_wptr, index_count, new_vertices.size());
 				}