diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-06-24 18:15:43 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-06-24 18:15:43 -0300 |
commit | 52308aba68516d4b4ca29a176d6053cf3f623ce4 (patch) | |
tree | f6e7bb32ca38060e508fcd55ce5cd77d5c1b722f /drivers/gles2 | |
parent | 48f1d02da4795ba9d485fe5fe2bea907be2fc467 (diff) |
ability to change shadow color in light2d
Diffstat (limited to 'drivers/gles2')
-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 |