Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorMai Lavelle <mai.lavelle@gmail.com>2016-08-23 21:49:10 +0300
committerMai Lavelle <mai.lavelle@gmail.com>2016-08-24 17:39:00 +0300
commit438bcc6d28e975bbefae6f86f21824f9feed0b6c (patch)
tree6ab8447e2c66fb405f727f6ec05a04f93d2db062 /intern
parent74bd80996287b3d7bb99fa9e980bb545f59155f7 (diff)
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.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/render/mesh_subdivision.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/intern/cycles/render/mesh_subdivision.cpp b/intern/cycles/render/mesh_subdivision.cpp
index f87425f0042..c8cc3abf7d9 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;