diff options
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index fcaa3854d37..ed78956e548 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -434,6 +434,13 @@ void DepsgraphRelationBuilder::add_particle_forcefield_relations(const Operation add_relation(mod_key, key, name); } + /* Force field Texture. */ + if ((relation->pd != nullptr) && (relation->pd->forcefield == PFIELD_TEXTURE) && + (relation->pd->tex != nullptr)) { + ComponentKey tex_key(&relation->pd->tex->id, NodeType::GENERIC_DATABLOCK); + add_relation(tex_key, key, "Force field Texture"); + } + /* Smoke flow relations. */ if (relation->pd->forcefield == PFIELD_FLUIDFLOW && relation->pd->f_source) { ComponentKey trf_key(&relation->pd->f_source->id, NodeType::TRANSFORM); @@ -712,6 +719,11 @@ void DepsgraphRelationBuilder::build_object(Object *object) if (object->particlesystem.first != nullptr) { build_particle_systems(object); } + /* Force field Texture. */ + if ((object->pd != nullptr) && (object->pd->forcefield == PFIELD_TEXTURE) && + (object->pd->tex != nullptr)) { + build_texture(object->pd->tex); + } /* Proxy object to copy from. */ build_object_proxy_from(object); build_object_proxy_group(object); @@ -1725,6 +1737,11 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene) ComponentKey effector_geometry_key(&effector_relation->ob->id, NodeType::GEOMETRY); add_relation(effector_geometry_key, rb_init_key, "RigidBody Field"); } + if ((effector_relation->pd->forcefield == PFIELD_TEXTURE) && + (effector_relation->pd->tex != nullptr)) { + ComponentKey tex_key(&effector_relation->pd->tex->id, NodeType::GENERIC_DATABLOCK); + add_relation(tex_key, rb_init_key, "Force field Texture"); + } } } /* Objects. */ |