diff options
author | JFonS <joan.fonssanchez@gmail.com> | 2018-05-06 20:35:16 +0200 |
---|---|---|
committer | JFonS <joan.fonssanchez@gmail.com> | 2018-06-19 11:24:51 +0200 |
commit | e9a3cf8feb25c3492b30e812119cbff7e29e6739 (patch) | |
tree | 49aa792181fd8cfd35c3b152689a45da43e30365 | |
parent | 0a1c1c660fc6aa0689816e85f2b6791c225c6d63 (diff) |
Fix rotation of 2D lights
-rw-r--r-- | drivers/gles3/shaders/canvas.glsl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 326aab4c7c..b3366a7f99 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -518,10 +518,9 @@ FRAGMENT_SHADER_CODE - #ifdef USE_LIGHTING - vec2 light_vec = light_uv_interp.zw;; //for shadow and normal mapping + vec2 light_vec = (inverse(light_matrix)*vec4(normalize(light_uv_interp.zw),0.0,0.0)).xy; //for normal mapping if (normal_used) { normal.xy = mat2(local_rot.xy,local_rot.zw) * normal.xy; @@ -567,7 +566,7 @@ FRAGMENT_SHADER_CODE color*=light; #ifdef USE_SHADOWS - + light_vec = light_uv_interp.zw; //for shadows float angle_to_light = -atan(light_vec.x,light_vec.y); float PI = 3.14159265358979323846264; /*int i = int(mod(floor((angle_to_light+7.0*PI/6.0)/(4.0*PI/6.0))+1.0, 3.0)); // +1 pq os indices estao em ordem 2,0,1 nos arrays |