Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- db "float f(vec3 o){"
- db "float a=(sin(o.x)+o.y*.25)*.35;"
- db "o=vec3(cos(a)*o.x-sin(a)*o.y,sin(a)*o.x+cos(a)*o.y,o.z);"
- db "return dot(cos(o)*cos(o),vec3(1))-1.2;"
- db "}"
- db "vec3 s(vec3 o,vec3 d){"
- db "float t=0.,a,b;"
- db "for(int i=0;i<75;i++){"
- db "if(f(o+d*t)<0){"
- db "a=t-.125;b=t;"
- db "for(int i=0; i<10;i++){"
- db "t=(a+b)*.5;"
- db "if(f(o+d*t)<0)b=t;else a=t;"
- db "}"
- db "vec3 e=vec3(.1,0,0),"
- db "p=o+d*t,"
- db "n=-normalize(vec3(f(p+e),f(p+e.yxy),f(p+e.yyx))+vec3((sin(p*75.)))*.01);"
- db "return vec3("
- db "mix( ((max(-dot(n,vec3(.577)),0.) + 0.125*max(-dot(n,vec3(-.707,-.707,0)),0.)))*(mod(length(p.xy)*20.,2.)<1.0?vec3(.71,.85,.25):vec3(.79,.93,.4))"
- db ",vec3(.93,.94,.85),"
- db "vec3(pow(t/9.,5.))"
- db ")"
- db ");"
- db "}"
- db "t+=.125;"
- db "}"
- db "return vec3(.93,.94,.85);"
- db "}"
- db "void main(){"
- db "float t=dot(gl_Color.xyz,vec3(1,256,65536))*.5;"
- db "gl_FragColor=vec4(s(vec3(sin(t*1.5)*.5,cos(t)*.5,t), normalize(vec3((gl_FragCoord.xy-vec2(512,384))/vec2(512),1))),1);"
- db "}"
- db 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement