summaryrefslogtreecommitdiff
path: root/drivers/gles3/shaders
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-06-15 23:07:38 -0300
committerJuan Linietsky <reduzio@gmail.com>2017-06-16 08:30:21 -0300
commit5d02b948a9efdc7589d1657137f7e9df43c06625 (patch)
tree50282bd1ed759e747896ea82a6fa07eecf3ec05d /drivers/gles3/shaders
parent29cfc365aa270601d2308bcc4b84ffb55f7241b7 (diff)
Cleaned up Screen Space Reflections, closes #8119
Diffstat (limited to 'drivers/gles3/shaders')
-rw-r--r--drivers/gles3/shaders/screen_space_reflection.glsl8
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