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
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc5
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc17
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 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. */