Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-03-13 18:06:23 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-03-13 18:06:34 +0300
commit3952fd199ac9285049bb22e3f9bb9aac822030c5 (patch)
tree62a03255bce347e0fd98aaa7ce9d9b35e989a45b /source/blender/draw/engines/eevee/eevee_lights.c
parent0e9ea707b5e5be2a38dd29dded3dd6c25a5e1992 (diff)
Fix T59448: Eevee broken Area Light shadows for square and rectange shape
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_lights.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_lights.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_lights.c b/source/blender/draw/engines/eevee/eevee_lights.c
index f4fe088157e..db7d5be7cf6 100644
--- a/source/blender/draw/engines/eevee/eevee_lights.c
+++ b/source/blender/draw/engines/eevee/eevee_lights.c
@@ -693,6 +693,14 @@ static void eevee_light_setup(Object *ob, EEVEE_Light *evli)
copy_v3_v3(evli->upvec, mat[1]);
normalize_v3(evli->upvec);
+ /* Make sure we have a consistent Right Hand coord frame.
+ * (in case of negatively scaled Z axis) */
+ float cross[3];
+ cross_v3_v3v3(cross, evli->rightvec, evli->forwardvec);
+ if (dot_v3v3(cross, evli->upvec) < 0.0) {
+ negate_v3(evli->upvec);
+ }
+
light_shape_parameters_set(evli, la, scale);
/* Light Type */