diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2015-09-27 03:17:12 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-09-30 18:08:25 +0300 |
commit | 0191a618effe9c8a8466b33d7f4a035ee5d7d4f0 (patch) | |
tree | b2051d7d035204f6d52f68f0a5ee6e5eac3f24c3 /source | |
parent | c31bace2a4d3ca31bedd0dc2f97c3c1f41c794a3 (diff) |
Fix T46212: blender internal lights in exclusive light group wrong in viewport.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/render/intern/source/envmap.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c index b9b908f550b..d70cc4b1ee0 100644 --- a/source/blender/render/intern/source/envmap.c +++ b/source/blender/render/intern/source/envmap.c @@ -262,7 +262,6 @@ static void env_set_imats(Render *re) void env_rotate_scene(Render *re, float mat[4][4], int do_rotate) { - GroupObject *go; ObjectRen *obr; ObjectInstanceRen *obi; LampRen *lar = NULL; @@ -321,19 +320,18 @@ void env_rotate_scene(Render *re, float mat[4][4], int do_rotate) invert_m4(obr->ob->imat_ren); } - for (go = re->lights.first; go; go = go->next) { - lar = go->lampren; - + for (lar = re->lampren.first; lar; lar = lar->next) { + float lamp_imat[4][4]; + /* copy from add_render_lamp */ if (do_rotate == 1) mul_m4_m4m4(tmpmat, re->viewmat, lar->lampmat); else mul_m4_m4m4(tmpmat, re->viewmat_orig, lar->lampmat); - invert_m4_m4(go->ob->imat, tmpmat); - + + invert_m4_m4(lamp_imat, tmpmat); copy_m3_m4(lar->mat, tmpmat); - - copy_m3_m4(lar->imat, go->ob->imat); + copy_m3_m4(lar->imat, lamp_imat); lar->vec[0]= -tmpmat[2][0]; lar->vec[1]= -tmpmat[2][1]; |