Partial fix for [#21948] Full sample motion blur with cloth - cloth and collision object render issue.
* Now cloth reads cache using subframes when rendering. * Cloth cache also was reset every time on the start frame which kind of defeats the point of the caching.
This commit is contained in:
@@ -446,7 +446,7 @@ DerivedMesh *clothModifier_do(ClothModifierData *clmd, Scene *scene, Object *ob,
|
||||
return dm;
|
||||
}
|
||||
|
||||
if(clmd->sim_parms->reset || (framenr == (startframe - clmd->sim_parms->preroll)))
|
||||
if(clmd->sim_parms->reset || (framenr == (startframe - clmd->sim_parms->preroll) && clmd->sim_parms->preroll != 0))
|
||||
{
|
||||
clmd->sim_parms->reset = 0;
|
||||
cache->flag |= PTCACHE_OUTDATED;
|
||||
@@ -512,7 +512,7 @@ DerivedMesh *clothModifier_do(ClothModifierData *clmd, Scene *scene, Object *ob,
|
||||
}
|
||||
|
||||
/* try to read from cache */
|
||||
cache_result = BKE_ptcache_read_cache(&pid, (float)framenr, scene->r.frs_sec);
|
||||
cache_result = BKE_ptcache_read_cache(&pid, (float)framenr+scene->r.subframe, scene->r.frs_sec);
|
||||
|
||||
if(cache_result == PTCACHE_READ_EXACT || cache_result == PTCACHE_READ_INTERPOLATED) {
|
||||
implicit_set_positions(clmd);
|
||||
|
||||
Reference in New Issue
Block a user