Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-02-11 17:18:12 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-02-11 17:24:11 +0300
commit311744696727915b34ef8dca4d8f40d71c4d469d (patch)
treea246f670e97831ec9288df7a73b6fda2d501a025 /source/blender/depsgraph
parent51d161a89efc6325a1fbf5afb39c1bfee00d51cb (diff)
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.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc14
1 files changed, 14 insertions, 0 deletions
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: