Fix T46212: blender internal lights in exclusive light group wrong in viewport.
This commit is contained in:
@@ -262,7 +262,6 @@ static void env_set_imats(Render *re)
|
|||||||
|
|
||||||
void env_rotate_scene(Render *re, float mat[4][4], int do_rotate)
|
void env_rotate_scene(Render *re, float mat[4][4], int do_rotate)
|
||||||
{
|
{
|
||||||
GroupObject *go;
|
|
||||||
ObjectRen *obr;
|
ObjectRen *obr;
|
||||||
ObjectInstanceRen *obi;
|
ObjectInstanceRen *obi;
|
||||||
LampRen *lar = NULL;
|
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);
|
invert_m4(obr->ob->imat_ren);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (go = re->lights.first; go; go = go->next) {
|
for (lar = re->lampren.first; lar; lar = lar->next) {
|
||||||
lar = go->lampren;
|
float lamp_imat[4][4];
|
||||||
|
|
||||||
/* copy from add_render_lamp */
|
/* copy from add_render_lamp */
|
||||||
if (do_rotate == 1)
|
if (do_rotate == 1)
|
||||||
mul_m4_m4m4(tmpmat, re->viewmat, lar->lampmat);
|
mul_m4_m4m4(tmpmat, re->viewmat, lar->lampmat);
|
||||||
else
|
else
|
||||||
mul_m4_m4m4(tmpmat, re->viewmat_orig, lar->lampmat);
|
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->mat, tmpmat);
|
||||||
|
copy_m3_m4(lar->imat, lamp_imat);
|
||||||
copy_m3_m4(lar->imat, go->ob->imat);
|
|
||||||
|
|
||||||
lar->vec[0]= -tmpmat[2][0];
|
lar->vec[0]= -tmpmat[2][0];
|
||||||
lar->vec[1]= -tmpmat[2][1];
|
lar->vec[1]= -tmpmat[2][1];
|
||||||
|
|||||||
Reference in New Issue
Block a user