diff options
author | Miika Hamalainen <blender@miikah.org> | 2013-09-22 20:09:31 +0400 |
---|---|---|
committer | Miika Hamalainen <blender@miikah.org> | 2013-09-22 20:09:31 +0400 |
commit | 771e607e82d13321dcbd7b941ee50b7cceb22c9b (patch) | |
tree | 33ad2e0fe5dda1bb1111b39118409ca9628ff536 /source | |
parent | aa8488421f230bf4b4f6e84370085ad465a6f2b3 (diff) |
Fix [#36791]: Fire ignores force fields when smoke is set to 0.0
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/smoke.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c index 189c1e967dd..2e2fb1e18f8 100644 --- a/source/blender/blenkernel/intern/smoke.c +++ b/source/blender/blenkernel/intern/smoke.c @@ -2386,6 +2386,7 @@ static void update_effectors(Scene *scene, Object *ob, SmokeDomainSettings *sds, if (effectors) { float *density = smoke_get_density(sds->fluid); + float *fuel = smoke_get_fuel(sds->fluid); float *force_x = smoke_get_force_x(sds->fluid); float *force_y = smoke_get_force_y(sds->fluid); float *force_z = smoke_get_force_z(sds->fluid); @@ -2408,7 +2409,7 @@ static void update_effectors(Scene *scene, Object *ob, SmokeDomainSettings *sds, float voxelCenter[3] = {0, 0, 0}, vel[3] = {0, 0, 0}, retvel[3] = {0, 0, 0}; unsigned int index = smoke_get_index(x, sds->res[0], y, sds->res[1], z); - if ((density[index] < FLT_EPSILON) || obstacle[index]) + if ((MAX2(density[index], fuel[index]) < FLT_EPSILON) || obstacle[index]) continue; vel[0] = velocity_x[index]; |