xxxxxxxxxx
31
precision mediump float;
varying vec2 pos;
uniform float millis;
void main() {
vec2 q = pos - vec2(0.5, 0.5);
float d = length(q);
vec3 outerEyeColour = vec3(0.2, 0.6, 1.0);
vec3 innerEyeColour = vec3(1., 1., 0.);
vec3 pupilColour = vec3(0.);
float innerRad = 0.1;
float outerRad = 0.4;
float inner = 1. - step(innerRad, d);
float outer = (1. - step(outerRad, d)) * (1. - inner);
float eyeLerp = sqrt(sqrt((d - innerRad) / (outerRad - innerRad)));
vec3 eyeColour = mix(innerEyeColour, outerEyeColour, eyeLerp);
float a = atan(q.y, q.x);
eyeColour.r += sin(d * 50.) * cos(a * 100.) * 0.2;
eyeColour.g += cos(d * 50.) * sin(a * 100.) * 0.2;
vec3 col = eyeColour * outer + pupilColour * inner;
gl_FragColor = vec4(col, 1.);
}