This commit is contained in:
2024-06-04 21:06:35 +03:00
parent 878e57b057
commit 342f91c6ca
11 changed files with 547 additions and 267 deletions

View File

@ -10,12 +10,18 @@ const char *__temp_cleaned_shader_glsl =
"uniform vec2 v;"
"uniform float f;"
"uniform sampler2D m,k;struct Ray{vec3 rd;vec3 dir;};"
"vec2 s()"
"{"
"vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);"
"r.x*=v.x/v.y;"
"return r;"
"}"
"mat2 n()"
"{"
"vec2 v=vec2(1.3);"
"return mat2(1./v.x,0.,0.,1./v.y);"
"}"
"const float i=2.*acos(-1.),s=sqrt(5.)*.5+.5;"
"const float i=2.*acos(-1.),c=sqrt(5.)*.5+.5;"
"float n(vec3 v,vec2 x)"
"{"
"vec3 f=abs(v);"
@ -26,29 +32,29 @@ const char *__temp_cleaned_shader_glsl =
"float f=acos(-1.)/2.;"
"v=cos(f)*v+sin(f)*vec2(v.y,-v.x);"
"}"
"float x(float v,float f)"
"float s(float v,float f)"
"{"
"return min(-.1,max(v,f))+length(max(vec2(.1+v,.1+f),vec2(0)));"
"}"
"float t(vec2 v,float f)"
"{"
"return fract(tan(distance(v*s,v)*f)*v.x);"
"return fract(tan(distance(v*c,v)*f)*v.x);"
"}"
"mat2 t(float v)"
"mat2 s(float v)"
"{"
"float f=sin(v),x=cos(v);"
"return mat2(x,-f,f,x);"
"}"
"float n(vec3 v,float f,float i)"
"float n(vec3 v,float f,float x)"
"{"
"vec3 r=v;"
"r.xz*=t(i);"
"r.yz*=t(i);"
"r.xz*=s(x);"
"r.yz*=s(x);"
"n(r.yz);"
"float m=n(r,vec2(.5+f,.1)),y=n(r,vec2(.2+f,.1));"
"return x(m,-y);"
"float i=n(r,vec2(.5+f,.1)),y=n(r,vec2(.2+f,.1));"
"return s(i,-y);"
"}"
"vec2 x(vec3 v)"
"vec2 t(vec3 v)"
"{"
"float x=0.,r=1e10;"
"vec3 i=v;"
@ -62,15 +68,15 @@ const char *__temp_cleaned_shader_glsl =
"}"
"return vec2(r,x);"
"}"
"vec3 t(vec3 v,vec3 f,inout vec3 i)"
"vec3 s(vec3 v,vec3 f,inout vec3 x)"
"{"
"float r=0.,m=0.,y=0.;"
"for(int e=0;e<150;e++)"
"float r=0.,i=0.,y=0.;"
"for(int m=0;m<150;m++)"
"{"
"i=v+f*r;"
"vec2 n=x(i);"
"x=v+f*r;"
"vec2 n=t(x);"
"r+=n.x;"
"m=n.y;"
"i=n.y;"
"if(r>80.)"
"break;"
"if(n.x<abs(.001*r))"
@ -81,17 +87,17 @@ const char *__temp_cleaned_shader_glsl =
"}"
"if(r>80.)"
"r=-1.;"
"return vec3(r,m,y);"
"return vec3(r,i,y);"
"}"
"vec3 x(vec3 v,vec3 f,vec3 i)"
"vec3 t(vec3 v,vec3 f,vec3 x)"
"{"
"float r=0.,m=0.,y=0.;"
"for(int e=0;e<50;e++)"
"float r=0.,i=0.,y=0.;"
"for(int m=0;m<50;m++)"
"{"
"i=v+f*r;"
"vec2 n=x(i);"
"x=v+f*r;"
"vec2 n=t(x);"
"r+=n.x;"
"m=n.y;"
"i=n.y;"
"if(r>40.)"
"break;"
"if(n.x<abs(.001*r))"
@ -102,77 +108,77 @@ const char *__temp_cleaned_shader_glsl =
"}"
"if(r>40.)"
"r=-1.;"
"return vec3(r,m,y);"
"return vec3(r,i,y);"
"}"
"float e(vec3 v,vec3 f)"
"float x(vec3 v,vec3 x)"
"{"
"float r=1.,m=.01;"
"float r=1.,f=.01;"
"for(int i=0;i<40;i++)"
"{"
"if(m>30.)"
"if(f>30.)"
"break;"
"float y=x(v+m*f).x;"
"r=min(r,y/(18.*m));"
"m+=clamp(y,.005,.5);"
"if(r<-1.||m>30.)"
"float m=t(v+f*x).x;"
"r=min(r,m/(18.*f));"
"f+=clamp(m,.005,.5);"
"if(r<-1.||f>30.)"
"break;"
"}"
"r=max(r,-1.);"
"return.25*(1.+r)*(1.+r)*(2.-r);"
"}"
"vec3 e(vec3 v)"
"vec3 x(vec3 v)"
"{"
"vec2 f=vec2(.001,0);"
"vec3 r=vec3(x(v+f.xyy).x-x(v-f.xyy).x,x(v+f.yxy).x-x(v-f.yxy).x,x(v+f.yyx).x-x(v-f.yyx).x);"
"vec3 r=vec3(t(v+f.xyy).x-t(v-f.xyy).x,t(v+f.yxy).x-t(v-f.yxy).x,t(v+f.yyx).x-t(v-f.yyx).x);"
"return normalize(r);"
"}"
"vec3 p(vec3 v,vec3 f)"
"vec3 e(vec3 v,vec3 f)"
"{"
"vec3 r=vec3(.5454);"
"return r+(1.-r)*pow(clamp(1.-dot(v,f),0.,1.),5.);"
"vec3 x=vec3(.5454);"
"return x+(1.-x)*pow(clamp(1.-dot(v,f),0.,1.),5.);"
"}"
"vec3 e(vec3 v,vec3 f,float r,vec3 i,vec3 x,vec3 y,float m)"
"vec3 e(vec3 v,vec3 f,float r,vec3 m,vec3 i,vec3 y,float k)"
"{"
"vec3 n=normalize(i),d=vec3(max(0.,dot(n,reflect(x,y)))),s=p(normalize(n-x),n)*m;"
"float k=e(i+y*.01,v);"
"d=pow(d,vec3(r))*m;"
"return f*mix(vec3(1)*vec3(max(0.,dot(n,y))),d,s)*k;"
"vec3 n=normalize(m),c=vec3(max(0.,dot(n,reflect(i,y)))),d=e(normalize(n-i),n)*k;"
"float s=x(m+y*.01,v);"
"c=pow(c,vec3(r))*k;"
"return f*mix(vec3(1)*vec3(max(0.,dot(n,y))),c,d)*s;"
"}"
"float r(vec3 v,vec3 f)"
"float p(vec3 v,vec3 f)"
"{"
"float r=0.,m=1.;"
"for(int i=0;i<8;i++)"
"float r=0.,i=1.;"
"for(int x=0;x<8;x++)"
"{"
"float y=.01+.02*float(i*i),d=x(v+f*y).x;"
"r+=(y-d)*m;"
"m*=.85;"
"float m=.01+.02*float(x*x),y=t(v+f*m).x;"
"r+=(m-y)*i;"
"i*=.85;"
"}"
"return 1.-clamp(.6*r,0.,1.);"
"}"
"vec3 e(vec3 v,vec3 f,vec3 m,float i)"
"vec3 e(vec3 v,vec3 f,vec3 r,float m)"
"{"
"float y=1.,x=r(v,f);"
"float i=1.,y=p(v,f);"
"vec3 n=vec3(.1529);"
"if(i==0.)"
"n=vec3(.2863,.1059,.2431),y=1.5;"
"else if(i==1.)"
"n=vec3(.3294,.0941,.6),y=.6;"
"else if(i==2.)"
"n=vec3(.5804,.9647,1),y=1.;"
"else if(i==3.)"
"n=vec3(0),y=1e2;"
"else if(i==4.)"
"n=vec3(.9961,1,.9922),y=.3;"
"vec3 d=vec3(0);"
"d+=e(vec3(0,-40,-1),vec3(.56,.44,.18)*2.,y,v,m,f,x);"
"d+=e(vec3(-20,4,10),vec3(.04,.2,.71)*2.,y,v,m,f,x);"
"vec3 s=vec3(0,4,2);"
"float c=e(v+f*.01,s);"
"d+=vec3(.6627,.7098,.8863)*clamp(dot(f,s),0.,1.)*c*x;"
"d+=vec3(.1333,.1333,.1216)*clamp(dot(f,normalize(s*vec3(-1,0,-1))),0.,1.)*x;"
"return n*max(vec3(0),d);"
"if(m==0.)"
"n=vec3(.2863,.1059,.2431),i=1.5;"
"else if(m==1.)"
"n=vec3(.3294,.0941,.6),i=.6;"
"else if(m==2.)"
"n=vec3(.5804,.9647,1),i=1.;"
"else if(m==3.)"
"n=vec3(0),i=1e2;"
"else if(m==4.)"
"n=vec3(.9961,1,.9922),i=.3;"
"vec3 c=vec3(0);"
"c+=e(vec3(0,-40,-1),vec3(.56,.44,.18)*2.,i,v,r,f,y);"
"c+=e(vec3(-20,4,10),vec3(.04,.2,.71)*2.,i,v,r,f,y);"
"vec3 d=vec3(0,4,2);"
"float s=x(v+f*.01,d);"
"c+=vec3(.6627,.7098,.8863)*clamp(dot(f,d),0.,1.)*s*y;"
"c+=vec3(.1333,.1333,.1216)*clamp(dot(f,normalize(d*vec3(-1,0,-1))),0.,1.)*y;"
"return n*max(vec3(0),c);"
"}"
"vec3 p(vec3 f)"
"vec3 e(vec3 f)"
"{"
"vec2 r=gl_FragCoord.xy/v.xy;"
"f=mix(f,f*smoothstep(.8,.4,length(r-vec2(.5))),.9);"
@ -180,48 +186,42 @@ const char *__temp_cleaned_shader_glsl =
"f*=vec3(1);"
"return pow(f,vec3(1./2.2));"
"}"
"vec3 e(vec2 f,vec3 v,vec3 i)"
"vec3 e(vec2 f,vec3 v,vec3 x)"
"{"
"vec3 r=normalize(i-v),y=cross(vec3(0,1,0),r);"
"vec3 r=normalize(x-v),y=cross(vec3(0,1,0),r);"
"return normalize(v+r+f.x*y+f.y*cross(r,y)-v);"
"}"
"vec3 p(vec2 v,vec3 f,vec3 i)"
"vec3 p(vec2 v,vec3 f,vec3 x)"
"{"
"vec3 r=normalize(i-f),y=normalize(cross(vec3(0,1,0),r)),m=normalize(cross(r,y));"
"vec2 n=vec2(t(gl_FragCoord.xy,.13),t(gl_FragCoord.xy,.4));"
"return normalize(v.x*y+v.y*m+1.7*r+sqrt(n.x)*(y*sin(n.y*6.283)+m*cos(n.y*6.283))*.25*1.7/150.2);"
"vec3 r=normalize(x-f),y=normalize(cross(vec3(0,1,0),r)),i=normalize(cross(r,y));"
"vec2 m=vec2(t(gl_FragCoord.xy,.13),t(gl_FragCoord.xy,.4));"
"return normalize(v.x*y+v.y*i+1.7*r+sqrt(m.x)*(y*sin(m.y*6.283)+i*cos(m.y*6.283))*.25*1.7/150.2);"
"}"
"vec3 r(vec2 v)"
"vec3 p(vec2 v)"
"{"
"bool r=!true;"
"vec3 f=vec3(0,5,-3),y=vec3(0),m;"
"m=r?"
"vec3 f=vec3(0,5,-3),y=vec3(0),i;"
"i=r?"
"p(v,f,y):"
"e(v,f,y);"
"vec3 i=vec3(.051,.0667,.1529),n=vec3(0),d=t(f,m,n),s=m;"
"vec3 m=vec3(.051,.0667,.1529),n=vec3(0),d=s(f,i,n),c=i;"
"if(d.z>0.)"
"{"
"vec3 k=e(n);"
"i=e(n,k,m,d.y);"
"i=i*exp(-d.x*.04)+mix(i,mix(vec3(.3686,.2431,.4392),vec3(.4,.7294,.9216),pow(max(dot(s,vec3(0,.3,-1)),0.),8.)),1.-exp(-d.x*.04))*(1.-exp(-d.x*.04));"
"m=normalize(reflect(m,k));"
"vec3 c=n+m*.01,g=x(c,m,n);"
"if(g.z>0.)"
"n=c+m*g.x,k=e(n),i+=.1*e(n,k,m,g.y);"
"vec3 k=x(n);"
"m=e(n,k,i,d.y);"
"m=m*exp(-d.x*.04)+mix(m,mix(vec3(.3686,.2431,.4392),vec3(.4,.7294,.9216),pow(max(dot(c,vec3(0,.3,-1)),0.),8.)),1.-exp(-d.x*.04))*(1.-exp(-d.x*.04));"
"i=normalize(reflect(i,k));"
"vec3 g=n+i*.01,a=t(g,i,n);"
"if(a.z>0.)"
"n=g+i*a.x,k=x(n),m+=.1*e(n,k,i,a.y);"
"}"
"return i;"
"}"
"vec2 e()"
"{"
"vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);"
"r.x*=v.x/v.y;"
"return r;"
"return m;"
"}"
"void main()"
"{"
"vec3 v=vec3(0);"
"v+=r(e());"
"v=p(v);"
"v+=p(s());"
"v=e(v);"
"gl_FragColor=vec4(v,1);"
"}";