[Bf-blender-cvs] [31174469672] master: Fix T61362: Hair particles does not appear when rendering Fix T61406: Particles don't render

Sergey Sharybin noreply at git.blender.org
Mon Feb 11 15:24:20 CET 2019


Commit: 311744696727915b34ef8dca4d8f40d71c4d469d
Author: Sergey Sharybin
Date:   Mon Feb 11 15:18:12 2019 +0100
Branches: master
https://developer.blender.org/rB311744696727915b34ef8dca4d8f40d71c4d469d

Fix T61362: Hair particles does not appear when rendering
Fix T61406: Particles don't render

Consider initial dependency graph evaluation as a file load.

Is still resetting too much, but that we can solve later.

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

M	source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc

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

diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index 959c6318248..32212b0e1c1 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -58,6 +58,7 @@ extern "C" {
 #include "DNA_anim_types.h"
 #include "DNA_armature_types.h"
 #include "DNA_mesh_types.h"
+#include "DNA_modifier_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_object_types.h"
 #include "DNA_particle_types.h"
@@ -579,6 +580,18 @@ void update_particle_system_orig_pointers(const Object *object_orig,
 	}
 }
 
+void set_particle_system_modifiers_loaded(Object *object_cow)
+{
+	LISTBASE_FOREACH(ModifierData *, md, &object_cow->modifiers) {
+		if (md->type != eModifierType_ParticleSystem) {
+			continue;
+		}
+		ParticleSystemModifierData *psmd =
+		        reinterpret_cast<ParticleSystemModifierData*>(md);
+		psmd->flag |= eParticleSystemFlag_file_loaded;
+	}
+}
+
 void update_pose_orig_pointers(const bPose *pose_orig, bPose *pose_cow)
 {
 	bPoseChannel *pchan_cow = (bPoseChannel *) pose_cow->chanbase.first;
@@ -621,6 +634,7 @@ void update_special_pointers(const Depsgraph *depsgraph,
 				}
 			}
 			update_particle_system_orig_pointers(object_orig, object_cow);
+			set_particle_system_modifiers_loaded(object_cow);
 			break;
 		}
 		case ID_SCE:



More information about the Bf-blender-cvs mailing list