From 32e7641667146d5b7cfd2ec625e92a545462def9 Mon Sep 17 00:00:00 2001 From: JFonS Date: Thu, 21 Feb 2019 12:16:10 +0100 Subject: Revert back to ignoring LIGHT_VEC for 2D shadows --- drivers/gles2/shaders/canvas.glsl | 4 ++++ drivers/gles3/shaders/canvas.glsl | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/drivers/gles2/shaders/canvas.glsl b/drivers/gles2/shaders/canvas.glsl index 643b6a5cc9..e74c7d7166 100644 --- a/drivers/gles2/shaders/canvas.glsl +++ b/drivers/gles2/shaders/canvas.glsl @@ -440,6 +440,10 @@ FRAGMENT_SHADER_CODE color *= light; #ifdef USE_SHADOWS + // Reset light_vec to compute shadows, the shadow map is created from the light origin, so it only + // makes sense to compute shadows from there. + light_vec = light_uv_interp.zw; + 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 diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 90775c841f..88368516c1 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -549,6 +549,10 @@ FRAGMENT_SHADER_CODE color *= light; #ifdef USE_SHADOWS + // Reset light_vec to compute shadows, the shadow map is created from the light origin, so it only + // makes sense to compute shadows from there. + light_vec = light_uv_interp.zw; + 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 -- cgit v1.2.3