Advertisement
Syldarion

PSP Wave Background try1

Mar 5th, 2022
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. float lerp(float from, float to, float t) {
  2. return ((1.0 - t) * from) + (t * to);
  3. }
  4.  
  5. float invLerp(float from, float to, float value) {
  6. return (value - from) / (to - from);
  7. }
  8.  
  9. float remap(float from1, float from2, float to1, float to2, float value) {
  10. float rel = invLerp(from1, from2, value);
  11. return lerp(to1, to2, rel);
  12. }
  13.  
  14. void mainImage( out vec4 fragColor, in vec2 fragCoord )
  15. {
  16. // Normalized pixel coordinates (from 0 to 1)
  17. vec2 uv = fragCoord/iResolution.xy;
  18.  
  19. float wave1TMults[3] = float[3](3.0, 1.2, 2.4);
  20. float wave1Offsets[3] = float[3](0.1, 0.6, 1.3);
  21. float wave1YStart = 0.3;
  22. float wave1YEnd = 0.04;
  23.  
  24. float wave2TMults[3] = float[3](1.0, 2.0, 0.5);
  25. float wave2Offsets[3] = float[3](0.0, 0.5, 0.2);
  26. float wave2YStart = 0.24;
  27. float wave2YEnd = 0.08;
  28.  
  29. float wave1Val = 0.0;
  30. float wave2Val = 0.0;
  31.  
  32. for (int i = 0; i < 3; i++) {
  33. float wave1Samp = sin(iTime * wave1TMults[i] + uv.x + wave1Offsets[i]);
  34. wave1Val += wave1Samp;
  35.  
  36. float wave2Samp = sin(iTime * wave2TMults[i] + uv.x + wave2Offsets[i]);
  37. wave2Val += wave2Samp;
  38. }
  39.  
  40. wave1Val /= 3.0;
  41. wave2Val /= 3.0;
  42.  
  43. fragColor = vec4(0.0, 0.0, 0.0, 1.0);
  44.  
  45. wave1Val = remap(-1.0, 1.0, wave1YStart, wave1YEnd, wave1Val);
  46. wave2Val = remap(-1.0, 1.0, wave2YStart, wave2YEnd, wave2Val);
  47.  
  48. wave1Val = smoothstep(wave1Val + 0.02, wave1Val, uv.y) - smoothstep(wave1Val, wave1Val - 0.1, uv.y);
  49. wave2Val = smoothstep(wave2Val + 0.02, wave2Val, uv.y) - smoothstep(wave2Val, wave2Val - 0.1, uv.y);
  50.  
  51. fragColor.rgb = mix(vec3(0.0, 0.0, 1.0 * remap(0.0, 1.0, 0.5, 1.0, uv.y)), mix(vec3(wave1Val), vec3(wave2Val), 0.5), 0.25);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement