diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gles2/rasterizer_gles2.cpp | 1 | ||||
-rw-r--r-- | drivers/gles2/shaders/canvas.glsl | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gles2/rasterizer_gles2.cpp b/drivers/gles2/rasterizer_gles2.cpp index efc92c5d9f..9d0e0ce0cc 100644 --- a/drivers/gles2/rasterizer_gles2.cpp +++ b/drivers/gles2/rasterizer_gles2.cpp @@ -9536,6 +9536,7 @@ void RasterizerGLES2::canvas_render_items(CanvasItem *p_item_list,int p_z,const canvas_shader.set_uniform(CanvasShaderGLES2::SHADOW_TEXTURE,max_texture_units-3); canvas_shader.set_uniform(CanvasShaderGLES2::SHADOW_MATRIX,light->shadow_matrix_cache); canvas_shader.set_uniform(CanvasShaderGLES2::SHADOW_ESM_MULTIPLIER,light->shadow_esm_mult); + canvas_shader.set_uniform(CanvasShaderGLES2::LIGHT_SHADOW_COLOR,light->shadow_color); } diff --git a/drivers/gles2/shaders/canvas.glsl b/drivers/gles2/shaders/canvas.glsl index 669ae44621..e297b328cd 100644 --- a/drivers/gles2/shaders/canvas.glsl +++ b/drivers/gles2/shaders/canvas.glsl @@ -152,6 +152,7 @@ uniform vec4 modulate; uniform sampler2D light_texture; uniform vec4 light_color; +uniform vec4 light_shadow_color; uniform float light_height; varying vec4 light_uv_interp; @@ -379,7 +380,8 @@ LIGHT_SHADER_CODE #if defined(USE_LIGHT_SHADOW_COLOR) color=mix(shadow_color,color,shadow_attenuation); #else - color*=shadow_attenuation; + //color*=shadow_attenuation; + color=mix(light_shadow_color,color,shadow_attenuation); #endif //use shadows #endif |