转载自: http://glslsandbox.com/e#43770.5
#ifdef GL_ES
precision highp float;
#endif
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
float triglined(vec2 p1, vec2 p2, vec2 p0){
float b = distance(p1,p0);
float lang = atan(p2.y - p1.y,p2.x - p1.x);
float pang = atan(p0.y-p1.y,p0.x-p1.x);
float dang = lang-pang;
return sin(dang)*b;
}
void main( void ) {
vec2 position = ( gl_FragCoord.xy / resolution.xy ) + mouse / 4.0;
float mack = abs(triglined(vec2(30.,30.)/resolution.xy,mouse,gl_FragCoord.xy/resolution.xy));
gl_FragColor = vec4(0.02/(mack));
}