diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-12 11:00:25 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-12 15:30:50 +0300 |
commit | c279592123aceb39d1301c1dd3492884ba7f8932 (patch) | |
tree | 2985abd71955429ec1093ff8a7a29b82464c9acf | |
parent | 0d817e68ef4868bf38f62f2d882c448948e0a1dd (diff) |
Depsgraph: Don't update derived mesh for particles on render
Render depsgraph is evaluated from scratch, so it should not be needed
to do such a call.
This also prevents modifier stack from being evaluated on top of already
evaluated mesh
-rw-r--r-- | source/blender/blenkernel/intern/object_update.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index f0f31eebfbd..c1bda070bd8 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -242,7 +242,6 @@ void BKE_object_handle_data_update( if (!(ob->mode & OB_MODE_EDIT) && ob->particlesystem.first) { const bool use_render_params = (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER); ParticleSystem *tpsys, *psys; - DerivedMesh *dm; ob->transflag &= ~OB_DUPLIPARTS; psys = ob->particlesystem.first; while (psys) { @@ -267,18 +266,6 @@ void BKE_object_handle_data_update( else psys = psys->next; } - - if (use_render_params && ob->transflag & OB_DUPLIPARTS) { - /* this is to make sure we get render level duplis in groups: - * the derivedmesh must be created before init_render_mesh, - * since object_duplilist does dupliparticles before that */ - CustomDataMask data_mask = CD_MASK_BAREMESH | CD_MASK_MFACE | CD_MASK_MTFACE | CD_MASK_MCOL; - dm = mesh_create_derived_render(depsgraph, scene, ob, data_mask); - dm->release(dm); - - for (psys = ob->particlesystem.first; psys; psys = psys->next) - psys_get_modifier(ob, psys)->flag &= ~eParticleSystemFlag_psys_updated; - } } /* quick cache removed */ |