Facebook Connect background facebookconnect.com/
Log in to post a comment.
#version 300 es precision highp float; #define PI2 6.2831853 uniform float iTime; uniform vec2 iResolution; uniform float Detail; // value= 2.5, min=1., max=5., step=0.1 in vec2 vScreen; out vec4 fragColor; #define _CameraDist 3. #define _Saturation 0.37 #define _Color0 vec3(180./255.,205./255.,245./255.) #define _Color1 vec3(173./255.,215./255.,252./255.) #define _Color2 vec3(202./255.,204./255.,235./255.) #define _NormalStrength 0.75 #define _Frequency 3.5 #define TemporalFrequency 0.125 #define Falloff 0.525 #define Frequency PI2 #define m3 mat3(-0.737, 0.456, 0.498, 0, -0.737, 0.675, 0.675, 0.498, 0.544) vec3 twistedSineNoise33(vec3 q) { q.xy *= vec2(1.8, 1.); float a = 1.; vec3 sum = vec3(0); for (int i = 0; i <4; i++){ q = m3 * q; vec3 s = sin(q.zxy * (1./ a)) * a; q += s; sum += s; a *= Falloff; } return sum; } vec3 getBgCol(vec3 p) { vec3 mn = twistedSineNoise33(p); vec3 col = mix(mix(mix(_Color0 * _Color0, _Color1 * _Color1, mn.x), _Color2 * _Color2, mn.z), vec3(1), .5 * mn.y); return max(vec3(0), col); } void main() { vec2 uv = vScreen; vec3 huv = 7. + vec3(uv, iTime * (_Frequency * TemporalFrequency / Detail)); vec3 hduv = vec3(1./iResolution.x, 1./iResolution.y, 0.); float hdx = (twistedSineNoise33(huv + hduv.xzz).x - twistedSineNoise33(huv - hduv.xzz).x) * (iResolution.x * .5); float hdy = (twistedSineNoise33(huv + hduv.zyz).x - twistedSineNoise33(huv - hduv.zyz).x) * (iResolution.x * .5); vec3 normal = normalize(vec3(hdx, hdy, _NormalStrength)); vec3 pos = vec3(uv, _CameraDist); vec3 rd = normalize(pos); vec3 rf = reflect(-rd, normal); vec3 col = getBgCol(rf - vec3(uv * Detail, iTime * TemporalFrequency)); vec3 rfr = refract(-rd, normal, 1./1.4); col += getBgCol(rfr + vec3(uv * Detail, iTime * TemporalFrequency)); col = sqrt(col * .6); fragColor = vec4(col, 1.0); }