From 0191a618effe9c8a8466b33d7f4a035ee5d7d4f0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 27 Sep 2015 02:17:12 +0200 Subject: Fix T46212: blender internal lights in exclusive light group wrong in viewport. --- source/blender/render/intern/source/envmap.c | 14 ++++++-------- 1 file 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]; -- cgit v1.2.3