Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifdef GL_ES
- precision mediump float;
- #endif
- //#define ABC
- #define PI 3.14159
- const float PI_by_three = 1.04720;
- const float two_PI_by_three = 2.09440;
- uniform vec2 u_resolution;
- uniform vec2 u_mouse;
- uniform float u_time;
- vec2 res = u_resolution;
- float diatance(vec2 p1, vec2 p2){
- return (
- sqrt(
- pow((p2.y - p1.y),2.0) + pow((p2.x - p1.x),2.0)
- ));
- }
- void main() {
- float time = u_time * 5.0 + (u_mouse.x/25.);
- float R,G,B,A, size, tmp, distanceFromCenter = res.x/3.0;
- vec2 center = vec2(res.x/2.0,res.y/2.0),//center
- p1,p2,p3;
- vec3 color;
- p1 = p2 = p3 = center;
- p1.y += distanceFromCenter;
- p2.x -= distanceFromCenter * sin(PI_by_three);
- p2.y -= distanceFromCenter * cos(PI_by_three);
- p3.x += distanceFromCenter * sin(PI_by_three);
- p3.y -= distanceFromCenter * cos(PI_by_three);
- size = distance(p1,p2)*((u_mouse.x/res.x) + 0.5);
- //size1 *= 0.2 + abs(sin(u_time));
- p1.x = center.x + (size * cos(time)) / 2.0;
- p1.y = center.y + (size * sin(time)) / 2.0;
- p2.x = center.x + (size * cos(time + two_PI_by_three)) / 2.0;
- p2.y = center.y + (size * sin(time + two_PI_by_three)) / 2.0;
- p3.x = center.x + (size * cos(time + 2.0*two_PI_by_three)) / 2.0;
- p3.y = center.y + (size * sin(time + 2.0*two_PI_by_three)) / 2.0;
- float dist;
- dist = distance(p1,gl_FragCoord.xy);
- if(dist <= size*2.0){
- tmp = (dist)/(size*2.0);
- B = 1.0-tmp;
- }
- else
- B = 0.0;
- dist = distance(p2,gl_FragCoord.xy);
- if(dist <= size*2.0){
- tmp = (dist)/(size*2.0);
- R = 1.0-tmp;
- }
- else
- R = 0.0;
- dist = distance(p3,gl_FragCoord.xy);
- if(dist <= size*2.){
- tmp = (dist)/(size*2.0);
- G = 1.0-tmp;
- }
- else
- G = 0.0;
- dist = distance(center,gl_FragCoord.xy);
- if(dist <= size*3.0){
- tmp = (dist)/(size*3.0);
- R += (1.0 - tmp)*0.3;
- G += (1.0 - tmp)*0.3;
- B += (1.0 - tmp)*0.3;
- }
- color = vec3(R,G,B);
- A = 1.0;
- gl_FragColor = vec4(color,A);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement