Advertisement
Guest User

Untitled

a guest
Nov 20th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 130
  2.  
  3. #define pi 3.141592654
  4.  
  5. in vec2 fragTexCoord;
  6. in vec4 fragColor;
  7. uniform sampler2D texture0;
  8. uniform vec4 colDiffuse;
  9. out vec4 finalColor;
  10.  
  11. vec3 to_focus(float pixel)
  12. {
  13.     pixel = mod(pixel + 3.0, 3.0);
  14.     if (pixel >= 2.0) return vec3(pixel - 2.0, 0.0, 3.0 - pixel); // Blue
  15.     else if (pixel >= 1.0) return vec3(0.0, 2.0 - pixel, pixel - 1.0); Green
  16.     else return vec3(1.0 - pixel, pixel, 0.0); // Red
  17. }
  18.  
  19. void main()
  20. {
  21.     vec2 textureSize = vec2(160.0, 144.0);
  22.     float y = mod(fragTexCoord.y * textureSize.y, 1.0);
  23.     float intensity = exp(-0.4 * y);
  24.     vec2 one_x = vec2(1.0 / (10.0 * textureSize.x), 0.0);
  25.     vec3 color = texture(texture0, fragTexCoord - 0.0 * one_x).rgb;
  26.     vec3 color_prev = texture(texture0, fragTexCoord - 1.0 * one_x).rgb;
  27.     vec3 color_prev_prev = texture(texture0, fragTexCoord - 2.0 * one_x).rgb;
  28.     float pixel_x = 3.0 * fragTexCoord.x * textureSize.y;
  29.     vec3 focus = to_focus(pixel_x - 0.0);
  30.     vec3 focus_prev = to_focus(pixel_x - 1.0);
  31.     vec3 focus_prev_prev = to_focus(pixel_x - 2.0);
  32.     vec3 result = 0.8 * color * focus + 0.6 * color_prev * focus_prev + 0.2 * color_prev_prev * focus_prev_prev;
  33.     result = 1.6 * pow(result, vec3(1.0));
  34.     finalColor = vec4((intensity) * result, 1.0);
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement