diff options
author | Juan Linietsky <reduzio@gmail.com> | 2017-06-15 23:07:38 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2017-06-16 08:30:21 -0300 |
commit | 5d02b948a9efdc7589d1657137f7e9df43c06625 (patch) | |
tree | 50282bd1ed759e747896ea82a6fa07eecf3ec05d /drivers/gles3/shaders | |
parent | 29cfc365aa270601d2308bcc4b84ffb55f7241b7 (diff) |
Cleaned up Screen Space Reflections, closes #8119
Diffstat (limited to 'drivers/gles3/shaders')
-rw-r--r-- | drivers/gles3/shaders/screen_space_reflection.glsl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gles3/shaders/screen_space_reflection.glsl b/drivers/gles3/shaders/screen_space_reflection.glsl index 3a2083e4ca..cc41d36c37 100644 --- a/drivers/gles3/shaders/screen_space_reflection.glsl +++ b/drivers/gles3/shaders/screen_space_reflection.glsl @@ -204,11 +204,13 @@ void main() { vec2 final_pos; float grad; grad=steps_taken/float(num_steps); + float initial_fade = curve_fade_in==0.0 ? 1.0 : pow(clamp(grad,0.0,1.0),curve_fade_in); + float fade = pow(clamp(1.0-grad,0.0,1.0),distance_fade)*initial_fade; final_pos=pos; -#endif + @@ -294,10 +296,10 @@ void main() { final_color = textureLod(source_diffuse,final_pos*pixel_size,0.0); } - frag_color = vec4(final_color.rgb,pow(clamp(1.0-grad,0.0,1.0),distance_fade)*margin_blend); + frag_color = vec4(final_color.rgb,fade*margin_blend); #else - frag_color = vec4(textureLod(source_diffuse,final_pos*pixel_size,0.0).rgb,pow(clamp(1.0-grad,0.0,1.0),distance_fade)*margin_blend); + frag_color = vec4(textureLod(source_diffuse,final_pos*pixel_size,0.0).rgb,fade*margin_blend); #endif |