diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2021-01-29 12:21:17 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2021-01-29 12:21:17 +0300 |
commit | 45d952e04578a36261a2fd7ae8e4b3dcefa15e54 (patch) | |
tree | b4d0b85a4170be6336de7d0bd51eedf2c2d96847 /source/blender/depsgraph | |
parent | 27e2c5ab78317fd79a50980b77fa93af42f2243d (diff) | |
parent | 3fb5e838677d8db0c193da1a7c70cb5c392a4610 (diff) |
Merge branch 'blender-v2.92-release'
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 5 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index dcdf2f48607..2edd4ddf853 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -650,6 +650,11 @@ void DepsgraphNodeBuilder::build_object(int base_index, if (object->particlesystem.first != nullptr) { build_particle_systems(object, is_visible); } + /* 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, is_visible); build_object_proxy_group(object, is_visible); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index bdd5c96e166..e8cf5c99c37 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. */ |