[Bf-blender-cvs] [438bcc6] master: Cycles: Fix crash when empty mesh has subdivision

Mai Lavelle noreply at git.blender.org
Wed Aug 24 16:42:43 CEST 2016


Commit: 438bcc6d28e975bbefae6f86f21824f9feed0b6c
Author: Mai Lavelle
Date:   Tue Aug 23 14:49:10 2016 -0400
Branches: master
https://developer.blender.org/rB438bcc6d28e975bbefae6f86f21824f9feed0b6c

Cycles: Fix crash when empty mesh has subdivision

OpenSubdiv doesn't like empty meshes, so we need to be careful not to
subdivide when the mesh is empty.

===================================================================

M	intern/cycles/render/mesh_subdivision.cpp

===================================================================

diff --git a/intern/cycles/render/mesh_subdivision.cpp b/intern/cycles/render/mesh_subdivision.cpp
index f87425f..c8cc3ab 100644
--- a/intern/cycles/render/mesh_subdivision.cpp
+++ b/intern/cycles/render/mesh_subdivision.cpp
@@ -299,7 +299,9 @@ void Mesh::tessellate(DiagSplit *split)
 	bool need_packed_patch_table = false;
 
 	if(subdivision_type == SUBDIVISION_CATMULL_CLARK) {
-		osd_data.build_from_mesh(this);
+		if(subd_faces.size()) {
+			osd_data.build_from_mesh(this);
+		}
 	}
 	else
 #endif
@@ -468,7 +470,7 @@ void Mesh::tessellate(DiagSplit *split)
 				/* keep subdivision for corner attributes disabled for now */
 				attr.flags &= ~ATTR_SUBDIVIDED;
 			}
-			else {
+			else if(subd_faces.size()) {
 				osd_data.subdivide_attribute(attr);
 
 				need_packed_patch_table = true;




More information about the Bf-blender-cvs mailing list