shader 特效 (时钟)

转载自: http://glslsandbox.com/


#ifdef GL_ES
precision mediump float;
#endif


#extension GL_OES_standard_derivatives : enable


uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;


void main( void ) {


vec2 p = 2.0*( gl_FragCoord.xy / resolution.xy )-1.0;
p.x *= resolution.x/resolution.y;
vec3 col = vec3(0); 


float d = length(p.xy); 
col = vec3(1,1,1)*1.0/(1.0 + 50.0*abs(d-0.5)-0.5); 

float ang = -time/10.0;
float ang2 = -time/100.0;
d = dot(p.xy,vec2(cos(ang),sin(ang)));
float d2 = dot(p.xy,vec2(sin(ang),-cos(ang)));
col += vec3(1,1,1)*clamp(1.0-length(2.0*p.xy),0.0,d2)*4.0/(1.0 + 50.0*abs(d)-0.5); 

d = dot(p.xy,vec2(cos(ang2),sin(ang2)));
d2 = dot(p.xy,vec2(sin(ang2),-cos(ang2)));
col += vec3(1,1,1)*clamp(1.0-length(3.0*p.xy),0.0,d2*2.0)*4.0/(1.0 + 50.0*abs(d)-0.5); 
gl_FragColor = vec4(col, 1.0); 
}

你可能感兴趣的:(shader 特效 (时钟))