testing
This commit is contained in:
@ -1,150 +1,210 @@
|
||||
// Generated with Shader Minifier 1.3.6 (https://github.com/laurentlb/Shader_Minifier/)
|
||||
#ifndef SHADER_MINIFIED_H_
|
||||
# define SHADER_MINIFIED_H_
|
||||
# define VAR_texts "d"
|
||||
# define VAR_texture_sampler "m"
|
||||
# define VAR_texts "f"
|
||||
# define VAR_texture_sampler "i"
|
||||
# define VAR_u_mouse "k"
|
||||
# define VAR_u_resolution "v"
|
||||
# define VAR_u_time "y"
|
||||
# define VAR_u_time "m"
|
||||
|
||||
const char *__temp_cleaned_shader_glsl =
|
||||
"uniform vec2 v;"
|
||||
"uniform float y;"
|
||||
"uniform sampler2D m,d;"
|
||||
"const float i=2.*acos(-1.),f=sqrt(5.)*.5+.5;"
|
||||
"float n(vec3 v)"
|
||||
"uniform float m;"
|
||||
"uniform vec2 k;"
|
||||
"uniform sampler2D i,f;struct Ray{vec3 rayDir;vec3 rayOrigin;vec3 hitPos;float distance;bool isHit;};"
|
||||
"const float r=2.*acos(-1.),d=sqrt(5.)*.5+.5;"
|
||||
"float x(vec3 v,vec2 m)"
|
||||
"{"
|
||||
"vec3 x=vec3(0),y=vec3(0,0,1)-x;"
|
||||
"return length(y*clamp(dot(v-x,y)/dot(y,y),0.,1.)+x-v);"
|
||||
"vec3 f=abs(v);"
|
||||
"return max(f.y-m.y,max(f.x*sqrt(3.)*.5+f.z*.5,f.z)-m.x);"
|
||||
"}"
|
||||
"float n(float v,float y)"
|
||||
"void x(inout vec2 v)"
|
||||
"{"
|
||||
"return min(-.1,max(v,y))+length(max(vec2(.1+v,.1+y),vec2(0)));"
|
||||
"float m=acos(-1.)/2.;"
|
||||
"v=cos(m)*v+sin(m)*vec2(v.y,-v.x);"
|
||||
"}"
|
||||
"mat2 s(float v)"
|
||||
"float p(float v,float m)"
|
||||
"{"
|
||||
"float y=sin(v),x=cos(v);"
|
||||
"return mat2(x,-y,y,x);"
|
||||
"return min(-.1,max(v,m))+length(max(vec2(.1+v,.1+m),vec2(0)));"
|
||||
"}"
|
||||
"float s(vec3 v,float y)"
|
||||
"mat2 p(float v)"
|
||||
"{"
|
||||
"vec2 m=vec2(y,abs(v.z)-.15);"
|
||||
"return min(max(m.x,m.y),0.)+length(max(m,0.));"
|
||||
"float m=sin(v),f=cos(v);"
|
||||
"return mat2(f,-m,m,f);"
|
||||
"}"
|
||||
"float t(vec2 v)"
|
||||
"float p(vec3 v,float m,float i)"
|
||||
"{"
|
||||
"float y=1.-smoothstep(-.2,.8,sin(atan(v.y,v.x)*12.))*.14;"
|
||||
"return smoothstep(y,y+2.,length(v)*2.);"
|
||||
"vec3 f=v;"
|
||||
"f.xz*=p(i);"
|
||||
"f.yz*=p(i);"
|
||||
"x(f.yz);"
|
||||
"float r=x(f,vec2(.5+m,.1)),n=x(f,vec2(.2+m,.1));"
|
||||
"return p(r,-n);"
|
||||
"}"
|
||||
"float t(vec3 v,float y)"
|
||||
"vec2 n(vec3 v)"
|
||||
"{"
|
||||
"v.xy*=s(y);"
|
||||
"float m=s(v,t(v.xy)),x=n(v-vec3(0,0,-.5))-.2;"
|
||||
"return.8*n(m,-x)-.02;"
|
||||
"}"
|
||||
"vec2 p(vec3 v)"
|
||||
"{"
|
||||
"float m=1e10;"
|
||||
"m=min(m,v.y+1.5);"
|
||||
"float x=t(v+vec3(1,0,0),y);"
|
||||
"m=min(m,x);"
|
||||
"float n=t(v+vec3(.5,-.87,0),-y);"
|
||||
"m=min(m,n);"
|
||||
"float f=t(v+vec3(.5,.87,0),-y);"
|
||||
"m=min(m,f);"
|
||||
"float d=0.;"
|
||||
"if(m==x)"
|
||||
"d=1.;"
|
||||
"if(m==n)"
|
||||
"d=2.;"
|
||||
"if(m==f)"
|
||||
"d=3.;"
|
||||
"return vec2(m,d);"
|
||||
"}"
|
||||
"vec2 p(vec3 v,vec3 y)"
|
||||
"{"
|
||||
"float m=0.,f=0.;"
|
||||
"for(int i=0;i<100;i++)"
|
||||
"float f=0.,r=1e10;"
|
||||
"vec3 i=v;"
|
||||
"i.xz*=p(.745);"
|
||||
"for(float x=1.;x<=6.;x++)"
|
||||
"{"
|
||||
"vec3 x=v+y*m;"
|
||||
"vec2 n=p(x);"
|
||||
"m+=n.x;"
|
||||
"f=n.y;"
|
||||
"if(m>20.||n.x<abs(.001*m))"
|
||||
"float n=p(i,x*.35,m+abs(2.+.4*sin(m))*x*3.1415/6.);"
|
||||
"r=min(r,n);"
|
||||
"if(r==n)"
|
||||
"f=1.+mod(x,3.);"
|
||||
"}"
|
||||
"return vec2(r,f);"
|
||||
"}"
|
||||
"vec3 n(vec3 v,vec3 m,inout vec3 f)"
|
||||
"{"
|
||||
"float r=0.,i=0.,x=0.;"
|
||||
"for(int e=0;e<150;e++)"
|
||||
"{"
|
||||
"f=v+m*r;"
|
||||
"vec2 d=n(f);"
|
||||
"r+=d.x;"
|
||||
"i=d.y;"
|
||||
"if(r>80.)"
|
||||
"break;"
|
||||
"if(d.x<abs(.001*r))"
|
||||
"{"
|
||||
"x=1.;"
|
||||
"break;"
|
||||
"}"
|
||||
"}"
|
||||
"if(r>80.)"
|
||||
"r=-1.;"
|
||||
"return vec3(r,i,x);"
|
||||
"}"
|
||||
"vec3 x(vec3 v,vec3 m,vec3 f)"
|
||||
"{"
|
||||
"float r=0.,i=0.,x=0.;"
|
||||
"for(int e=0;e<50;e++)"
|
||||
"{"
|
||||
"f=v+m*r;"
|
||||
"vec2 d=n(f);"
|
||||
"r+=d.x;"
|
||||
"i=d.y;"
|
||||
"if(r>40.)"
|
||||
"break;"
|
||||
"if(d.x<abs(.001*r))"
|
||||
"{"
|
||||
"x=1.;"
|
||||
"break;"
|
||||
"}"
|
||||
"}"
|
||||
"if(r>40.)"
|
||||
"r=-1.;"
|
||||
"return vec3(r,i,x);"
|
||||
"}"
|
||||
"float n(vec3 v,vec3 m)"
|
||||
"{"
|
||||
"float r=1.,f=.01;"
|
||||
"for(int i=0;i<40;i++)"
|
||||
"{"
|
||||
"if(f>30.)"
|
||||
"break;"
|
||||
"float x=n(v+f*m).x;"
|
||||
"r=min(r,x/(18.*f));"
|
||||
"f+=clamp(x,.005,.5);"
|
||||
"if(r<-1.||f>30.)"
|
||||
"break;"
|
||||
"}"
|
||||
"if(m>20.)"
|
||||
"m=-1.;"
|
||||
"return vec2(m,f);"
|
||||
"r=max(r,-1.);"
|
||||
"return.25*(1.+r)*(1.+r)*(2.-r);"
|
||||
"}"
|
||||
"float x(vec3 v,vec3 y)"
|
||||
"{"
|
||||
"float m=1.,f=.001;"
|
||||
"for(int i=0;i<100;i++)"
|
||||
"{"
|
||||
"vec3 x=v+f*y;"
|
||||
"float n=p(x).x;"
|
||||
"m=min(m,10.*n/f);"
|
||||
"if(abs(n)<.001*f)"
|
||||
"break;"
|
||||
"f+=n;"
|
||||
"if(f>20.)"
|
||||
"break;"
|
||||
"}"
|
||||
"return clamp(m,0.,1.);"
|
||||
"}"
|
||||
"vec3 x(vec3 v)"
|
||||
"vec3 s(vec3 v)"
|
||||
"{"
|
||||
"vec2 m=vec2(.001,0);"
|
||||
"vec3 y=vec3(p(v+m.xyy).x-p(v-m.xyy).x,p(v+m.yxy).x-p(v-m.yxy).x,p(v+m.yyx).x-p(v-m.yyx).x);"
|
||||
"return normalize(y);"
|
||||
"vec3 r=vec3(n(v+m.xyy).x-n(v-m.xyy).x,n(v+m.yxy).x-n(v-m.yxy).x,n(v+m.yyx).x-n(v-m.yyx).x);"
|
||||
"return normalize(r);"
|
||||
"}"
|
||||
"vec3 n(vec3 v,vec3 m,vec3 y)"
|
||||
"vec3 s(vec3 v,vec3 m)"
|
||||
"{"
|
||||
"return v+(1.-v)*pow(clamp(1.-dot(m,y),0.,1.),5.);"
|
||||
"vec3 r=vec3(.5454);"
|
||||
"return r+(1.-r)*pow(clamp(1.-dot(v,m),0.,1.),5.);"
|
||||
"}"
|
||||
"vec3 n(vec3 v,vec3 y,vec3 m,float f)"
|
||||
"vec3 n(vec3 v,vec3 m,float r,vec3 f,vec3 i,vec3 x,float y)"
|
||||
"{"
|
||||
"float d=1.;"
|
||||
"vec3 i=vec3(0),p=reflect(m,y),c=vec3(.5),a=vec3(1),s=vec3(.1686);"
|
||||
"if(f==0.)"
|
||||
"s=vec3(.1412),d=11.1;"
|
||||
"else if(f==1.)"
|
||||
"s=vec3(.1765,1.1961,.2275),d=31.;"
|
||||
"else if(f==2.)"
|
||||
"s=vec3(1.1765,.1961,.2275),d=21.;"
|
||||
"else if(f==3.)"
|
||||
"s=vec3(.1765,.1961,1.2275),d=21.;"
|
||||
"{"
|
||||
"vec3 l=normalize(vec3(-2,.3,10)-v),r=vec3(max(0.,dot(l,p))),t=n(c,normalize(l-m),l);"
|
||||
"r=pow(r,vec3(d));"
|
||||
"i+=s*r*(vec3(.71,.51,.72)*5.)*mix(a*vec3(max(0.,dot(l,y))),r,t);"
|
||||
"}"
|
||||
"{"
|
||||
"vec3 l=normalize(vec3(5,5,-20)-v),r=vec3(max(0.,dot(l,p))),t=n(c,normalize(l-m),l);"
|
||||
"r=pow(r,vec3(d));"
|
||||
"i+=s*r*(vec3(.14,.36,.83)*7.)*mix(a*vec3(max(0.,dot(l,y))),r,t);"
|
||||
"}"
|
||||
"{"
|
||||
"vec3 l=vec3(0,.4,1);"
|
||||
"float r=clamp(dot(y,l),0.,1.),t=x(v+y*.02,l);"
|
||||
"i+=s*vec3(1.1,1.2,1.5)*r*r*t;"
|
||||
"}"
|
||||
"i+=s*vec3(.0353,.2667,.4784)*clamp(dot(y,vec3(0,.6,-1)),0.,1.);"
|
||||
"return i;"
|
||||
"vec3 d=normalize(f),e=vec3(max(0.,dot(d,reflect(i,x)))),z=s(normalize(d-i),d)*y;"
|
||||
"float k=n(f+x*.01,v);"
|
||||
"e=pow(e,vec3(r))*y;"
|
||||
"return m*mix(vec3(1)*vec3(max(0.,dot(d,x))),e,z)*k;"
|
||||
"}"
|
||||
"float t(vec3 v,vec3 m)"
|
||||
"{"
|
||||
"float r=0.,f=1.;"
|
||||
"for(int i=0;i<8;i++)"
|
||||
"{"
|
||||
"float x=.01+.02*float(i*i),d=n(v+m*x).x;"
|
||||
"r+=(x-d)*f;"
|
||||
"f*=.85;"
|
||||
"}"
|
||||
"return 1.-clamp(.6*r,0.,1.);"
|
||||
"}"
|
||||
"vec3 n(vec3 v,vec3 m,vec3 f,float r)"
|
||||
"{"
|
||||
"float i=1.,x=t(v,m);"
|
||||
"vec3 d=vec3(.1529);"
|
||||
"if(r==0.)"
|
||||
"d=vec3(.2863,.1059,.2431),i=1.5;"
|
||||
"else if(r==1.)"
|
||||
"d=vec3(.3294,.0941,.6),i=.6;"
|
||||
"else if(r==2.)"
|
||||
"d=vec3(.5804,.9647,1),i=1.;"
|
||||
"else if(r==3.)"
|
||||
"d=vec3(0),i=1e2;"
|
||||
"else if(r==4.)"
|
||||
"d=vec3(.9961,1,.9922),i=.3;"
|
||||
"vec3 e=vec3(0);"
|
||||
"e+=n(vec3(0,-40,-1),vec3(.56,.44,.18)*2.,i,v,f,m,x);"
|
||||
"e+=n(vec3(-20,4,10),vec3(.04,.2,.71)*2.,i,v,f,m,x);"
|
||||
"vec3 z=vec3(0,4,2);"
|
||||
"float s=n(v+m*.01,z);"
|
||||
"e+=vec3(.6627,.7098,.8863)*clamp(dot(m,z),0.,1.)*s*x;"
|
||||
"e+=vec3(.1333,.1333,.1216)*clamp(dot(m,normalize(z*vec3(-1,0,-1))),0.,1.)*x;"
|
||||
"return d*max(vec3(0),e);"
|
||||
"}"
|
||||
"vec3 t(vec3 r)"
|
||||
"{"
|
||||
"vec2 i=gl_FragCoord.xy/v.xy;"
|
||||
"r=mix(r,r*smoothstep(.8,.4,length(i-vec2(.5))),.9);"
|
||||
"r=mix(r,smoothstep(0.,1.,r),.5);"
|
||||
"r*=vec3(1);"
|
||||
"return pow(r,vec3(1./2.2));"
|
||||
"}"
|
||||
"mat3 e(vec3 m)"
|
||||
"{"
|
||||
"vec3 v=normalize(vec3(0)-m),r=normalize(cross(vec3(0,1,0),v));"
|
||||
"return mat3(r,cross(v,r),v);"
|
||||
"}"
|
||||
"vec3 w(vec2 v)"
|
||||
"{"
|
||||
"vec3 r=vec3(sin(m)*2.,0,4),f=e(r)*normalize(vec3(v,1.2)),i=vec3(0),d=n(r,f,i),z=f,k=vec3(.051,.0667,.1529);"
|
||||
"if(d.z>0.)"
|
||||
"{"
|
||||
"vec3 y=s(i);"
|
||||
"k=n(i,y,f,d.y);"
|
||||
"k=k*exp(-d.x*.04)+mix(k,mix(vec3(.3686,.2431,.4392),vec3(.4,.7294,.9216),pow(max(dot(z,vec3(0,.3,-1)),0.),8.)),1.-exp(-d.x*.04))*(1.-exp(-d.x*.04));"
|
||||
"f=normalize(reflect(f,y));"
|
||||
"vec3 c=i+f*.01,p=x(c,f,i);"
|
||||
"if(p.z>0.)"
|
||||
"i=c+f*p.x,y=s(i),k+=.1*n(i,y,f,p.y);"
|
||||
"}"
|
||||
"return k;"
|
||||
"}"
|
||||
"vec2 e()"
|
||||
"{"
|
||||
"vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);"
|
||||
"r.x*=v.x/v.y;"
|
||||
"return r;"
|
||||
"}"
|
||||
"void main()"
|
||||
"{"
|
||||
"vec2 m=(2.*gl_FragCoord.xy-v.xy)/v.y;"
|
||||
"float f=y*.4;"
|
||||
"vec3 i=vec3(0,0,1),d=i+vec3(4.*sin(f),cos(f),4.*cos(f)),l=normalize(i-d),r=normalize(cross(l,vec3(0,1,0))),s=normalize(m.x*r+m.y*normalize(cross(r,l))+l*2.),c=vec3(.1451,.1098,.1608)-vec3(.9725,.5176,0)*s.y;"
|
||||
"vec2 t=p(d,s);"
|
||||
"if(t.x>0.)"
|
||||
"{"
|
||||
"vec3 a=d+s*t.x,C=x(a);"
|
||||
"c=n(a,C,s,t.y);"
|
||||
"c=mix(c,vec3(.17,.16,.24),1.-exp(-t.x*.01));"
|
||||
"}"
|
||||
"gl_FragColor=vec4(pow(c,vec3(1./1.3)),1);"
|
||||
"vec3 r=vec3(0);"
|
||||
"r+=w(e());"
|
||||
"r=t(r);"
|
||||
"gl_FragColor=vec4(r,1);"
|
||||
"}";
|
||||
|
||||
#endif // SHADER_MINIFIED_H_
|
||||
|
||||
Reference in New Issue
Block a user