Advertisement
Caiwan

plasma.frag

Dec 16th, 2011
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. // by @neave and weyland yutani
  2. // Inspired by http://www.everyday3d.com/j3d/demo/011_Plasma.html
  3.  
  4. #ifdef GL_ES
  5. precision mediump float;
  6. #endif
  7.  
  8. uniform float time;
  9. uniform vec2 mouse;
  10. uniform vec2 resolution;
  11.  
  12. const vec3 col1 = vec3(.964705882, .990196078, .990196078);
  13. const vec3 col2 = vec3(.266666667, .333333333, .231372549);
  14. const vec3 col3 = vec3(.8392156486, .880392157, .849019608);
  15. const vec3 col4 = vec3(.776470588, .772549020, .729411765);
  16. const vec3 col5 = vec3(.5098034922, .592156863, .503921569);
  17.  
  18. void main( void ) {
  19.  
  20. vec2 position = gl_FragCoord.xy / resolution.xy;
  21.  
  22. vec2 ca = vec2(0.1, 0.2);
  23. vec2 cb = vec2(0.7, 0.9);
  24. float da = distance(position, ca);
  25. float db = distance(position, cb);
  26.  
  27. float t = time * 0.1;
  28. float c1 = sin(da * cos(t) * 18.0 + t * 10.0);
  29. float c2 = cos(position.y * 1.0 + t);
  30. float c3 = cos(db * 19.0) + sin(t);
  31.  
  32. float p = (c1 + c2 + c3) / 3.0;
  33. vec4 col = vec4(0, 0, 0, 1);
  34.  
  35. if (p <= 0.0) col.rgb = col1;
  36. else if (p < 0.2) col.rgb = col2;
  37. else if (p < 0.3) col.rgb = col3;
  38. else if (p < 0.4) col.rgb = col4;
  39. else col.rgb = col5;
  40.  
  41. gl_FragColor = col;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement