Advertisement
Guest User

Untitled

a guest
May 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #ifdef GL_ES
  2. precision mediump float;
  3. #endif
  4.  
  5. uniform sampler2D u_texture;
  6. uniform float seed;
  7. uniform float seed2;
  8. uniform float seed3;
  9. uniform float alphaBase;
  10. uniform vec2 u_drawSize;
  11. uniform float u_RGBDisplacementFactor;
  12. uniform float u_XYDisplacementFactor;
  13.  
  14. varying vec4 v_color;
  15. varying vec2 v_texCoord;
  16.  
  17. void main() {
  18. float displacementX = 0;
  19. float displacementY = 0;
  20.  
  21. if ((int(v_texCoord.y * 500.0) / (1 + int(step(0.5, seed) * 1))) % 2 == int(step(0.5, seed))) {
  22. displacementX = u_XYDisplacementFactor * 1.0 / 200.0 * (seed * 2 - 1) * ((int(v_texCoord.y * u_drawSize.x * seed2) % 133) / 113.0f);
  23. displacementY = u_XYDisplacementFactor * 1.0 / 200.0 * (seed2 * 2 - 1) * ((int(v_texCoord.y * u_drawSize.y * seed2) % 133) / 113.0f);
  24. }
  25.  
  26.  
  27. float displacementRX = seed2 * 0.01 * u_RGBDisplacementFactor;
  28. float displacementGX = -seed3 * 0.006 * u_RGBDisplacementFactor;
  29. float displacementBX = 0;//seed2 * 0.005;
  30. float displacementRY = -seed3 * 0.005 * u_RGBDisplacementFactor;
  31. float displacementGY = seed2 * 0.008 * u_RGBDisplacementFactor;
  32. float displacementBY = 0;//seed3 * 0.006;
  33. vec2 texCoordR = vec2(v_texCoord.x + displacementX + displacementRX, v_texCoord.y + displacementY + displacementRY);
  34. vec2 texCoordG = vec2(v_texCoord.x + displacementX + displacementGX, v_texCoord.y + displacementY + displacementGY);
  35. vec2 texCoordB = vec2(v_texCoord.x + displacementX + displacementBX, v_texCoord.y + displacementY + displacementBY);
  36.  
  37. float alphaR = texture2D(u_texture, texCoordR).a;
  38. float alphaG = texture2D(u_texture, texCoordG).a;
  39. float alphaB = texture2D(u_texture, texCoordB).a;
  40.  
  41. gl_FragColor = vec4(v_color.r * alphaR, v_color.g * alphaG, v_color.b * alphaB, (alphaR + alphaG + alphaB) * alphaBase);
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement