diff options
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/sss.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 30cb0200794..c96206643d9 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5394,6 +5394,10 @@ void RE_DataBase_IncrementalView(Render *re, float viewmat[4][4], int restore) invert_m4_m4(re->viewinv, re->viewmat); env_rotate_scene(re, tmat, !restore); + + /* SSS points distribution depends on view */ + if ((re->r.mode & R_SSS) && !re->test_break(re->tbh)) + make_sss_tree(re); } diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c index 7a58d20be10..fbf11ae1cd3 100644 --- a/source/blender/render/intern/source/sss.c +++ b/source/blender/render/intern/source/sss.c @@ -993,6 +993,8 @@ static void sss_free_tree(SSSData *sss) void make_sss_tree(Render *re) { Material *mat; + + free_sss(re); re->sss_hash= BLI_ghash_ptr_new("make_sss_tree gh"); |