summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJFonS <joan.fonssanchez@gmail.com>2018-07-04 23:18:59 +0200
committerJFonS <joan.fonssanchez@gmail.com>2018-07-04 23:31:27 +0200
commitac18444c7e14e2d7f5bf347c7a600156d3af6ac7 (patch)
tree6134d45e817e6f763cbdf328291486418230e7a3
parentf8daa080f297523d641f176d9b07b7d85fb0f772 (diff)
Fix regression of 2D light height
-rw-r--r--drivers/gles3/shaders/canvas.glsl6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl
index b3366a7f99..7aafd28c35 100644
--- a/drivers/gles3/shaders/canvas.glsl
+++ b/drivers/gles3/shaders/canvas.glsl
@@ -520,7 +520,11 @@ FRAGMENT_SHADER_CODE
#ifdef USE_LIGHTING
- vec2 light_vec = (inverse(light_matrix)*vec4(normalize(light_uv_interp.zw),0.0,0.0)).xy; //for normal mapping
+ mat3 inverse_light_matrix = mat3(inverse(light_matrix));
+ inverse_light_matrix[0] = normalize(inverse_light_matrix[0]);
+ inverse_light_matrix[1] = normalize(inverse_light_matrix[1]);
+ inverse_light_matrix[2] = normalize(inverse_light_matrix[2]);
+ vec2 light_vec = (inverse_light_matrix * vec3(light_uv_interp.zw,0.0)).xy; //for normal mapping
if (normal_used) {
normal.xy = mat2(local_rot.xy,local_rot.zw) * normal.xy;