diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-13 18:40:22 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-13 18:40:22 +0400 |
commit | a754423bd1e1ec092534abb0584197ce32403996 (patch) | |
tree | c5e6472416cfb0c53338c4b1caf8d4f504a6b9b7 /source/blender | |
parent | f8bfe53ded6d9bf5d319557698174715efb7145b (diff) |
Fix #35735: blender internal viewport rendering was missing SSS update when
changing angle of view.
Diffstat (limited to 'source/blender')
-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"); |