Преглед изворни кода

Merge pull request #70091 from clayjohn/bone-aabbs

Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain
Rémi Verschelde пре 2 година
родитељ
комит
2b056115ef

+ 0 - 19
drivers/gles3/storage/mesh_storage.cpp

@@ -323,27 +323,8 @@ void MeshStorage::mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface)
 	}
 
 	if (mesh->surface_count == 0) {
-		mesh->bone_aabbs = p_surface.bone_aabbs;
 		mesh->aabb = p_surface.aabb;
 	} else {
-		if (mesh->bone_aabbs.size() < p_surface.bone_aabbs.size()) {
-			// ArrayMesh::_surface_set_data only allocates bone_aabbs up to max_bone
-			// Each surface may affect different numbers of bones.
-			mesh->bone_aabbs.resize(p_surface.bone_aabbs.size());
-		}
-		for (int i = 0; i < p_surface.bone_aabbs.size(); i++) {
-			const AABB &bone = p_surface.bone_aabbs[i];
-			if (bone.has_volume()) {
-				AABB &mesh_bone = mesh->bone_aabbs.write[i];
-				if (mesh_bone != AABB()) {
-					// Already initialized, merge AABBs.
-					mesh_bone.merge_with(bone);
-				} else {
-					// Not yet initialized, copy the bone AABB.
-					mesh_bone = bone;
-				}
-			}
-		}
 		mesh->aabb.merge_with(p_surface.aabb);
 	}
 

+ 0 - 2
drivers/gles3/storage/mesh_storage.h

@@ -120,8 +120,6 @@ struct Mesh {
 	Surface **surfaces = nullptr;
 	uint32_t surface_count = 0;
 
-	Vector<AABB> bone_aabbs;
-
 	bool has_bone_weights = false;
 
 	AABB aabb;

+ 0 - 19
servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp

@@ -434,27 +434,8 @@ void MeshStorage::mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface)
 	}
 
 	if (mesh->surface_count == 0) {
-		mesh->bone_aabbs = p_surface.bone_aabbs;
 		mesh->aabb = p_surface.aabb;
 	} else {
-		if (mesh->bone_aabbs.size() < p_surface.bone_aabbs.size()) {
-			// ArrayMesh::_surface_set_data only allocates bone_aabbs up to max_bone
-			// Each surface may affect different numbers of bones.
-			mesh->bone_aabbs.resize(p_surface.bone_aabbs.size());
-		}
-		for (int i = 0; i < p_surface.bone_aabbs.size(); i++) {
-			const AABB &bone = p_surface.bone_aabbs[i];
-			if (bone.has_volume()) {
-				AABB &mesh_bone = mesh->bone_aabbs.write[i];
-				if (mesh_bone != AABB()) {
-					// Already initialized, merge AABBs.
-					mesh_bone.merge_with(bone);
-				} else {
-					// Not yet initialized, copy the bone AABB.
-					mesh_bone = bone;
-				}
-			}
-		}
 		mesh->aabb.merge_with(p_surface.aabb);
 	}
 

+ 0 - 2
servers/rendering/renderer_rd/storage_rd/mesh_storage.h

@@ -138,8 +138,6 @@ private:
 		Surface **surfaces = nullptr;
 		uint32_t surface_count = 0;
 
-		Vector<AABB> bone_aabbs;
-
 		bool has_bone_weights = false;
 
 		AABB aabb;