Fix T95806: subdivision missing in Cycles when using autosmooth
Although rB56407432a6a did fix missing subdivision in some cases, in other cases it did not return the mesh wrapper (like when using autosmooth, which requires a copy of the mesh), so the non-subdivided mesh was still returned.
This commit is contained in:
@@ -1055,7 +1055,7 @@ static Mesh *mesh_new_from_mesh(Object *object, Mesh *mesh)
|
||||
BKE_mesh_wrapper_ensure_mdata(mesh);
|
||||
}
|
||||
else {
|
||||
BKE_mesh_wrapper_ensure_subdivision(object, mesh);
|
||||
mesh = BKE_mesh_wrapper_ensure_subdivision(object, mesh);
|
||||
}
|
||||
|
||||
Mesh *mesh_result = (Mesh *)BKE_id_copy_ex(
|
||||
@@ -1093,8 +1093,7 @@ static Mesh *mesh_new_from_mesh_object_with_layers(Depsgraph *depsgraph,
|
||||
mask.pmask |= CD_MASK_ORIGINDEX;
|
||||
}
|
||||
Mesh *result = mesh_create_eval_final(depsgraph, scene, &object_for_eval, &mask);
|
||||
BKE_mesh_wrapper_ensure_subdivision(object, result);
|
||||
return result;
|
||||
return BKE_mesh_wrapper_ensure_subdivision(object, result);
|
||||
}
|
||||
|
||||
static Mesh *mesh_new_from_mesh_object(Depsgraph *depsgraph,
|
||||
|
||||
Reference in New Issue
Block a user