[Bf-blender-cvs] [c279592123a] blender2.8: Depsgraph: Don't update derived mesh for particles on render

Sergey Sharybin noreply at git.blender.org
Tue Jun 12 14:31:04 CEST 2018


Commit: c279592123aceb39d1301c1dd3492884ba7f8932
Author: Sergey Sharybin
Date:   Tue Jun 12 10:00:25 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBc279592123aceb39d1301c1dd3492884ba7f8932

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

===================================================================

M	source/blender/blenkernel/intern/object_update.c

===================================================================

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 */



More information about the Bf-blender-cvs mailing list