Cycles: Fix wrong motion blur when combining deformation motion blur with autosplit

The issue was that we used to compare number of vertices for mesh after the auto
smooth was applied (at the center of the shutter time) with number of vertices
prior to the auto smooth applied. This caused false-positive consideration of a
mesh as changing topology.

Now we do autosplit as early as possible and do it from blender side, so Cycles
does not need to re-implement splitting on it's side.
This commit is contained in:
2017-01-11 16:32:57 +01:00
parent 38b0141554
commit 394fa07d41
2 changed files with 10 additions and 39 deletions

View File

@@ -74,7 +74,12 @@ static inline BL::Mesh object_to_mesh(BL::BlendData& data,
if((bool)me) {
if(me.use_auto_smooth()) {
me.calc_normals_split();
if(subdivision_type == Mesh::SUBDIVISION_CATMULL_CLARK) {
me.calc_normals_split();
}
else {
me.split_faces();
}
}
if(subdivision_type == Mesh::SUBDIVISION_NONE) {
me.calc_tessface(true);