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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-21 17:30:34 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-21 18:08:42 +0300
commit991d4f1c6b661d9a6b00e073d9a01c8a8a133b12 (patch)
tree5f2ca156d07e3155107a09d5c3cfb2b2db128880 /source/blender/blenkernel
parent318ad705ad366f457ada2e9fe5f6c43902bd62ae (diff)
Fix incorrect use of G.is_rendering for particles in some places.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/dynamicpaint.c3
-rw-r--r--source/blender/blenkernel/intern/effect.c7
-rw-r--r--source/blender/blenkernel/intern/particle.c3
3 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c
index ed2566c9bb5..2b3ef91678f 100644
--- a/source/blender/blenkernel/intern/dynamicpaint.c
+++ b/source/blender/blenkernel/intern/dynamicpaint.c
@@ -5890,6 +5890,7 @@ static int dynamicPaint_doStep(
PaintSurfaceData *sData = surface->data;
PaintBakeData *bData = sData->bData;
DynamicPaintCanvasSettings *canvas = surface->canvas;
+ const bool for_render = (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER);
int ret = 1;
if (sData->total_points < 1)
@@ -5960,7 +5961,7 @@ static int dynamicPaint_doStep(
/* Apply brush on the surface depending on it's collision type */
if (brush->psys && brush->psys->part &&
ELEM(brush->psys->part->type, PART_EMITTER, PART_FLUID) &&
- psys_check_enabled(brushObj, brush->psys, G.is_rendering))
+ psys_check_enabled(brushObj, brush->psys, for_render))
{
/* Paint a particle system */
BKE_animsys_evaluate_animdata(depsgraph, scene, &brush->psys->part->id, brush->psys->part->adt,
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c
index 7e506570b7e..c155fbc1d97 100644
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@ -188,8 +188,9 @@ static void add_object_to_effectors(ListBase **effectors, struct Depsgraph *deps
static void add_particles_to_effectors(ListBase **effectors, struct Depsgraph *depsgraph, Scene *scene, EffectorWeights *weights, Object *ob, ParticleSystem *psys, ParticleSystem *psys_src, bool for_simulation)
{
ParticleSettings *part= psys->part;
+ const bool for_render = (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER);
- if ( !psys_check_enabled(ob, psys, G.is_rendering) )
+ if ( !psys_check_enabled(ob, psys, for_render) )
return;
if ( psys == psys_src && (part->flag & PART_SELF_EFFECT) == 0)
@@ -215,7 +216,9 @@ ListBase *pdInitEffectors(
struct Depsgraph *depsgraph, Scene *scene, Object *ob_src, ParticleSystem *psys_src,
EffectorWeights *weights, bool for_simulation)
{
- Base *base = BKE_collection_or_layer_objects(depsgraph, scene, NULL, weights->group);
+ /* For dependency building, we get objects from the scene.
+ * For simulation, we get objects from the depsgraph. */
+ Base *base = BKE_collection_or_layer_objects((for_simulation) ? depsgraph : NULL, scene, NULL, weights->group);
ListBase *effectors = NULL;
for (; base; base = base->next) {
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 693d6ac587e..494878bcc8e 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -256,7 +256,8 @@ struct LatticeDeformData *psys_create_lattice_deform_data(ParticleSimulationData
if (psys_in_edit_mode(sim->depsgraph, sim->psys) == 0) {
Object *lattice = NULL;
ModifierData *md = (ModifierData *)psys_get_modifier(sim->ob, sim->psys);
- int mode = G.is_rendering ? eModifierMode_Render : eModifierMode_Realtime;
+ bool for_render = DEG_get_mode(sim->depsgraph) == DAG_EVAL_RENDER;
+ int mode = for_render ? eModifierMode_Render : eModifierMode_Realtime;
for (; md; md = md->next) {
if (md->type == eModifierType_Lattice) {