diff options
| author | mookiexl | 2016-10-03 12:28:32 +0200 |
|---|---|---|
| committer | Rémi Verschelde | 2016-10-03 12:28:32 +0200 |
| commit | 0b12ebba1143888ee76302c33bbf67508717f42f (patch) | |
| tree | 41fa1fd520ea71f73087d3ec066e368dbfe0505f /drivers/gles2/rasterizer_gles2.cpp | |
| parent | 1d2743302f8e118011e5fe51fbc7bf310acb30d4 (diff) | |
| download | godot-0b12ebba1143888ee76302c33bbf67508717f42f.tar.gz godot-0b12ebba1143888ee76302c33bbf67508717f42f.tar.zst godot-0b12ebba1143888ee76302c33bbf67508717f42f.zip | |
Diffstat (limited to 'drivers/gles2/rasterizer_gles2.cpp')
| -rw-r--r-- | drivers/gles2/rasterizer_gles2.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gles2/rasterizer_gles2.cpp b/drivers/gles2/rasterizer_gles2.cpp index 80ccf9be6..e0326f672 100644 --- a/drivers/gles2/rasterizer_gles2.cpp +++ b/drivers/gles2/rasterizer_gles2.cpp @@ -5456,9 +5456,16 @@ void RasterizerGLES2::_setup_light(uint16_t p_light) { } - light_data[VL_LIGHT_ATTENUATION][0]=l->vars[VS::LIGHT_PARAM_ENERGY]; - light_data[VL_LIGHT_ATTENUATION][1]=l->vars[VS::LIGHT_PARAM_RADIUS]; - light_data[VL_LIGHT_ATTENUATION][2]=l->vars[VS::LIGHT_PARAM_ATTENUATION]; + light_data[VL_LIGHT_ATTENUATION][0] = l->vars[VS::LIGHT_PARAM_ENERGY]; + + if (l->type == VS::LIGHT_DIRECTIONAL) { + light_data[VL_LIGHT_ATTENUATION][1] = l->directional_shadow_param[VS::LIGHT_DIRECTIONAL_SHADOW_PARAM_MAX_DISTANCE]; + } + else{ + light_data[VL_LIGHT_ATTENUATION][1] = l->vars[VS::LIGHT_PARAM_RADIUS]; + } + + light_data[VL_LIGHT_ATTENUATION][2] = l->vars[VS::LIGHT_PARAM_ATTENUATION]; light_data[VL_LIGHT_SPOT_ATTENUATION][0]=Math::cos(Math::deg2rad(l->vars[VS::LIGHT_PARAM_SPOT_ANGLE])); light_data[VL_LIGHT_SPOT_ATTENUATION][1]=l->vars[VS::LIGHT_PARAM_SPOT_ATTENUATION]; |
