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:
authorCampbell Barton <ideasman42@gmail.com>2016-06-23 00:53:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-06-23 00:54:35 +0300
commit29448bd99bb05ae61e4d540981026bab87702f90 (patch)
treece5797a238562438cfb28832be7197af2f3ee654 /source/blender/render
parent7547c6a250cd6f36c9894605b822380a1261febf (diff)
Fix T48658: Cycles render & render preview corrupts particles
Replaces `G.is_rendering` with `use_render_params` argument. This is needed for Cycles, which attempts to restore render-preview settings from particles, after it gets its own particle data, but fails to restore because `G.is_rendering` was being checked in psys_cache_paths (and other places).
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/convertblender.c4
-rw-r--r--source/blender/render/intern/source/pointdensity.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index b6ee88de290..8c847773d75 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -1330,7 +1330,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
part=psys->part;
pars=psys->particles;
- if (part==NULL || pars==NULL || !psys_check_enabled(ob, psys))
+ if (part==NULL || pars==NULL || !psys_check_enabled(ob, psys, G.is_rendering))
return 0;
if (part->ren_as==PART_DRAW_OB || part->ren_as==PART_DRAW_GR || part->ren_as==PART_DRAW_NOT)
@@ -4697,7 +4697,7 @@ static void add_render_object(Render *re, Object *ob, Object *par, DupliObject *
if (ob->particlesystem.first) {
psysindex= 1;
for (psys=ob->particlesystem.first; psys; psys=psys->next, psysindex++) {
- if (!psys_check_enabled(ob, psys))
+ if (!psys_check_enabled(ob, psys, G.is_rendering))
continue;
obr= RE_addRenderObject(re, ob, par, index, psysindex, ob->lay);
diff --git a/source/blender/render/intern/source/pointdensity.c b/source/blender/render/intern/source/pointdensity.c
index 59aaad661c9..e4da4302efe 100644
--- a/source/blender/render/intern/source/pointdensity.c
+++ b/source/blender/render/intern/source/pointdensity.c
@@ -211,7 +211,7 @@ static void pointdensity_cache_psys(Scene *scene,
CD_MASK_BAREMESH | CD_MASK_MTFACE | CD_MASK_MCOL);
}
- if (!psys_check_enabled(ob, psys)) {
+ if (!psys_check_enabled(ob, psys, use_render_params)) {
psys_render_restore(ob, psys);
return;
}