diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-05 19:47:52 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-05 19:47:52 +0400 |
commit | 03bd670f8286c841a8696badb492256ca6fcadd8 (patch) | |
tree | 3e29e2fbbb71f6732da43311c7fc40573f71c358 /source/blender/render | |
parent | 5805a8d36d77404b868fe9f806261c3d0b5aed42 (diff) |
Fix #36649 and #36650: animation of freestyle line thickness and linestyle did
not render correct in animations, due to missing updates.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index e4b861bd1ea..00c31cce39f 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -630,6 +630,22 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer * RE_init_threadcount(re); } +/* update some variables that can be animated, and otherwise wouldn't be due to + * RenderData getting copied once at the start of animation render */ +static void render_update_anim_renderdata(Render *re, RenderData *rd) +{ + /* filter */ + re->r.gauss = rd->gauss; + + /* motion blur */ + re->r.mblur_samples = rd->mblur_samples; + re->r.blurfac = rd->blurfac; + + /* freestyle */ + re->r.line_thickness_mode = rd->line_thickness_mode; + re->r.unit_line_thickness = rd->unit_line_thickness; +} + void RE_SetWindow(Render *re, rctf *viewplane, float clipsta, float clipend) { /* re->ok flag? */ @@ -2408,6 +2424,7 @@ static int render_initialize_from_main(Render *re, Main *bmain, Scene *scene, Sc /* not too nice, but it survives anim-border render */ if (anim) { + render_update_anim_renderdata(re, &scene->r); re->disprect = disprect; return 1; } |