Guest User

Untitled

a guest
Oct 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. <title>Plasma</title>
  2.  
  3. <fshader plasma>
  4. uniform vec2 resolution;
  5. uniform float time;
  6.  
  7. vec4 c(float x) {
  8. return vec4(x, x*0.9, x*1.1, 1.0);
  9. }
  10.  
  11. float f(vec2 p, float t) {
  12. p *= cos(sqrt(dot(p,p))) * sin(t / 2.0 + length(p));
  13. p = tan(mod(sqrt(p) + 1.0, 0.05) * 10.0);
  14.  
  15. if(p.x >= p.y)
  16. return sin(p.y/p.x);
  17. else
  18. return cos(p.x/p.y/sin(t/2.0));
  19. }
  20.  
  21. void main(void)
  22. {
  23. vec2 p = gl_FragCoord.xy / resolution.xy * 4.0 - 2.0;
  24. p *= atan(0.1 / dot(p,p)) * sqrt(p.x/p.y) * sqrt(p.y/p.x);
  25. gl_FragColor = c(1.0-(f(p, time) * 0.5 + f(p, time-0.5/2.0) * 0.25 + f(p, time-0.75/2.0) * 0.125 + f(p, time-0.875/2.0) * 0.0625 + f(p, time-0.9375/2.0) * 0.0625));
  26. }
  27. </fshader>
  28.  
  29. <program>plasma</program>
Add Comment
Please, Sign In to add comment