Update shader.glsl
This commit is contained in:
@ -43,11 +43,11 @@ USE_WIDECHAR_TEXTS=1
|
||||
|
||||
########### Time base ###########
|
||||
USE_TIME_DIVIDER_IN_X86_CODE=1
|
||||
TIME_DIVIDER=77255.477
|
||||
TIME_DIVIDER=94500.000
|
||||
TIME_BASE=bars
|
||||
|
||||
AUDIO_DELAY=2048
|
||||
PROD_END_TIME=2705728
|
||||
PROD_END_TIME=3970880
|
||||
|
||||
|
||||
########### Final product ###########
|
||||
@ -61,9 +61,9 @@ QUOTE=\"
|
||||
|
||||
CRINKLER_ORDERTRIES=4000
|
||||
|
||||
AUDIO_BUFFER_ALLOCATED_LENGTH=2705728
|
||||
AUDIO_BUFFER_ALLOCATED_LENGTH=3970880
|
||||
AUDIO_SAMPLING_RATE=44100
|
||||
LOOP_END=5.0
|
||||
LOOP_START=3.0
|
||||
LOOP_ENABLED=0
|
||||
TIME_DIVIDER_INT=77255
|
||||
TIME_DIVIDER_INT=94500
|
||||
|
||||
@ -10,9 +10,9 @@ include $(PARENT_CONFIG)
|
||||
EXE_LINKER_PROGRAM=Crinkler
|
||||
CRINKLER_ORDERTRIES=4000
|
||||
SHADER_FILE=shader_minified.h
|
||||
TIME_UNIFORM_NAME='f'
|
||||
RESOLUTION_UNIFORM_NAME='v'
|
||||
TEXTS_UNIFORM_NAME='k'
|
||||
TIME_UNIFORM_NAME='v'
|
||||
RESOLUTION_UNIFORM_NAME='y'
|
||||
TEXTS_UNIFORM_NAME='f'
|
||||
USE_WIDECHAR_TEXTS=1
|
||||
TIME_DIVIDER=44100.000
|
||||
TIME_BASE=seconds
|
||||
|
||||
1251
shader.glsl
1251
shader.glsl
File diff suppressed because it is too large
Load Diff
@ -1,228 +1,167 @@
|
||||
// Generated with Shader Minifier 1.3.6 (https://github.com/laurentlb/Shader_Minifier/)
|
||||
#ifndef SHADER_MINIFIED_H_
|
||||
# define SHADER_MINIFIED_H_
|
||||
# define VAR_texts "k"
|
||||
# define VAR_texture_sampler "m"
|
||||
# define VAR_u_resolution "v"
|
||||
# define VAR_u_time "f"
|
||||
# define VAR_texts "f"
|
||||
# define VAR_texture_sampler "x"
|
||||
# define VAR_u_resolution "y"
|
||||
# define VAR_u_time "v"
|
||||
|
||||
const char *__temp_cleaned_shader_glsl =
|
||||
"uniform vec2 v;"
|
||||
"uniform float f;"
|
||||
"uniform sampler2D m,k;struct Ray{vec3 rd;vec3 dir;};"
|
||||
"vec2 s()"
|
||||
"uniform vec2 y;"
|
||||
"uniform float v;"
|
||||
"uniform sampler2D x,f;"
|
||||
"mat2 n(float v)"
|
||||
"{"
|
||||
"vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);"
|
||||
"r.x*=v.x/v.y;"
|
||||
"return r;"
|
||||
"float x=sin(v),y=cos(v);"
|
||||
"return mat2(y,-x,x,y);"
|
||||
"}"
|
||||
"mat2 n()"
|
||||
"float n(float v,float x,float y)"
|
||||
"{"
|
||||
"vec2 v=vec2(1.3);"
|
||||
"return mat2(1./v.x,0.,0.,1./v.y);"
|
||||
"float m=max(y-abs(v-x),0.);"
|
||||
"return max(v,x)+m*m*.25/y;"
|
||||
"}"
|
||||
"const float i=2.*acos(-1.),c=sqrt(5.)*.5+.5;"
|
||||
"float n(vec3 v,vec2 x)"
|
||||
"float n(vec3 v,vec3 y)"
|
||||
"{"
|
||||
"vec3 f=abs(v);"
|
||||
"return max(f.y-x.y,max(f.x*sqrt(3.)*.5+f.z*.5,f.z)-x.x);"
|
||||
"vec3 x=abs(v)-y;"
|
||||
"return length(max(x,0.))+min(max(x.x,max(x.y,x.z)),0.);"
|
||||
"}"
|
||||
"void n(inout vec2 v)"
|
||||
"float s(vec3 v)"
|
||||
"{"
|
||||
"float f=acos(-1.)/2.;"
|
||||
"v=cos(f)*v+sin(f)*vec2(v.y,-v.x);"
|
||||
"vec2 f=vec2(.2);"
|
||||
"v.xy*=n(.5);"
|
||||
"const float y=sqrt(3.);"
|
||||
"f.x*=.5*y;"
|
||||
"v.xy/=f.x;"
|
||||
"v.x=abs(v.x)-1.;"
|
||||
"v.y=v.y+1./y;"
|
||||
"if(v.x+y*v.y>0.)"
|
||||
"v.xy=vec2(v.x-y*v.y,-y*v.x-v.y)/2.;"
|
||||
"v.x-=clamp(v.x,-2.,0.);"
|
||||
"float x=length(v.xy)*sign(-v.y)*f.x,a=abs(v.z)-f.y;"
|
||||
"return length(max(vec2(x,a),0.))+min(max(x,a),0.);"
|
||||
"}"
|
||||
"float s(float v,float f)"
|
||||
"float s(float x,float y,float m)"
|
||||
"{"
|
||||
"return min(-.1,max(v,f))+length(max(vec2(.1+v,.1+f),vec2(0)));"
|
||||
"float f=(v*m-y)/(2.*acos(-1.));"
|
||||
"f=min(f,x);"
|
||||
"return 2.*acos(-1.)*f;"
|
||||
"}"
|
||||
"float t(vec2 v,float f)"
|
||||
"vec3 m(vec3 y)"
|
||||
"{"
|
||||
"return fract(tan(distance(v*c,v)*f)*v.x);"
|
||||
"float x=9.+9.*clamp(sin(s(2.,0.,1.)*.05),-.9,.9);"
|
||||
"if(v>=2.)"
|
||||
"x=9.+9.*clamp(sin(s(2.,0.,1.)*.05),-.9,.9),y.xy=n(x)*y.xy;"
|
||||
"if(v>=14.)"
|
||||
"x=9.+9.*clamp(sin(s(2.,14.,1.)*.05),-.9,.9),y.xy=n(x*-1.)*y.xy;"
|
||||
"return y;"
|
||||
"}"
|
||||
"mat2 s(float v)"
|
||||
"float m(float x,float y)"
|
||||
"{"
|
||||
"float f=sin(v),x=cos(v);"
|
||||
"return mat2(x,-f,f,x);"
|
||||
"if(v>=y)"
|
||||
"x+=.045*clamp(sin(s(2.4,y*10.,10.)*.4),-.9,.9);"
|
||||
"return x;"
|
||||
"}"
|
||||
"float n(vec3 v,float f,float x)"
|
||||
"vec2 a(vec3 v)"
|
||||
"{"
|
||||
"vec3 r=v;"
|
||||
"r.xz*=s(x);"
|
||||
"r.yz*=s(x);"
|
||||
"n(r.yz);"
|
||||
"float i=n(r,vec2(.5+f,.1)),y=n(r,vec2(.2+f,.1));"
|
||||
"return s(i,-y);"
|
||||
"}"
|
||||
"vec2 t(vec3 v)"
|
||||
"{"
|
||||
"float x=0.,r=1e10;"
|
||||
"vec3 i=v;"
|
||||
"i.xy*=n();"
|
||||
"for(float m=1.;m<=6.;m++)"
|
||||
"float x=round(atan(v.y,v.x)/.261799375)*.261799375;"
|
||||
"vec3 f=v;"
|
||||
"f.xy=mat2(cos(x),-sin(x),sin(x),cos(x))*f.xy;"
|
||||
"float y=length(max(abs(f.xy-vec2(1.8,0))-vec2(.24,.14),0.))-.02;"
|
||||
"y=min(y,abs(length(v.xy)-1.8)-.2);"
|
||||
"float i=abs(length(v.xy)-1.75)-.08;"
|
||||
"i=n(i,abs(v.z-.1)-.04,.005);"
|
||||
"y=max(-i,y);"
|
||||
"y=n(y,abs(v.z)-.1,.02);"
|
||||
"float r=1.;"
|
||||
"for(int a=0;a<8;a++)"
|
||||
"{"
|
||||
"float y=n(i,m*.35,f+abs(2.+.4*sin(f))*m*3.1415/6.);"
|
||||
"r=min(r,y);"
|
||||
"if(r==y)"
|
||||
"x=1.+mod(m,3.);"
|
||||
"}"
|
||||
"return vec2(r,x);"
|
||||
"}"
|
||||
"vec3 s(vec3 v,vec3 f,inout vec3 x)"
|
||||
"{"
|
||||
"float r=0.,i=0.,y=0.;"
|
||||
"for(int m=0;m<150;m++)"
|
||||
"{"
|
||||
"x=v+f*r;"
|
||||
"vec2 n=t(x);"
|
||||
"r+=n.x;"
|
||||
"i=n.y;"
|
||||
"if(r>80.)"
|
||||
"break;"
|
||||
"if(n.x<abs(.001*r))"
|
||||
"vec3 c=v;"
|
||||
"float z=24.67/6.283185+r*.785398125;"
|
||||
"if(a==1)"
|
||||
"z+=.2;"
|
||||
"if(a==7)"
|
||||
"z-=.2;"
|
||||
"c.xy=n(z)*c.xy;"
|
||||
"if(a>0)"
|
||||
"{"
|
||||
"y=1.;"
|
||||
"break;"
|
||||
"c.x=c.x-1.95;"
|
||||
"if(a==1)"
|
||||
"c.x=m(c.x,13.);"
|
||||
"if(a==2)"
|
||||
"c.x=m(c.x,26.);"
|
||||
"float l=s(vec3(c))-.02;"
|
||||
"y=min(y,l);"
|
||||
"}"
|
||||
"r+=1.;"
|
||||
"}"
|
||||
"if(r>80.)"
|
||||
"r=-1.;"
|
||||
"return vec3(r,i,y);"
|
||||
"}"
|
||||
"vec3 t(vec3 v,vec3 f,vec3 x)"
|
||||
"{"
|
||||
"float r=0.,i=0.,y=0.;"
|
||||
"for(int m=0;m<50;m++)"
|
||||
"vec3 a=m(v);"
|
||||
"float c=6.283185/32.;"
|
||||
"vec3 l=a;"
|
||||
"l.xy=n(round(atan(a.y,a.x)/c)*c)*l.xy;"
|
||||
"float z=n(l.xyz-vec3(1.75,0,0),vec3(.04,.14,.05))-.02;"
|
||||
"y=min(y,z);"
|
||||
"float e=1.5;"
|
||||
"for(int u=0;u<4;u++)"
|
||||
"{"
|
||||
"x=v+f*r;"
|
||||
"vec2 n=t(x);"
|
||||
"r+=n.x;"
|
||||
"i=n.y;"
|
||||
"if(r>40.)"
|
||||
"break;"
|
||||
"if(n.x<abs(.001*r))"
|
||||
"{"
|
||||
"y=1.;"
|
||||
"break;"
|
||||
"}"
|
||||
"float h=n(vec3(v.x,v.y+e,v.z),vec3(2,.1,e))-.05;"
|
||||
"y=min(y,h);"
|
||||
"e+=.2;"
|
||||
"}"
|
||||
"if(r>40.)"
|
||||
"r=-1.;"
|
||||
"return vec3(r,i,y);"
|
||||
"return vec2(y);"
|
||||
"}"
|
||||
"float x(vec3 v,vec3 x)"
|
||||
"float a(vec3 x,vec3 y)"
|
||||
"{"
|
||||
"float r=1.,f=.01;"
|
||||
"for(int i=0;i<40;i++)"
|
||||
"float f=0.,v;"
|
||||
"for(int i=0;i<80;i++)"
|
||||
"{"
|
||||
"if(f>30.)"
|
||||
"break;"
|
||||
"float m=t(v+f*x).x;"
|
||||
"r=min(r,m/(18.*f));"
|
||||
"f+=clamp(m,.005,.5);"
|
||||
"if(r<-1.||f>30.)"
|
||||
"vec3 m=x+y*f;"
|
||||
"v=a(m).x;"
|
||||
"f+=v;"
|
||||
"if(v<.001||f>1e2)"
|
||||
"break;"
|
||||
"}"
|
||||
"r=max(r,-1.);"
|
||||
"return.25*(1.+r)*(1.+r)*(2.-r);"
|
||||
"return f;"
|
||||
"}"
|
||||
"vec3 x(vec3 v)"
|
||||
"vec3 h(vec3 v)"
|
||||
"{"
|
||||
"vec2 f=vec2(.001,0);"
|
||||
"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);"
|
||||
"float y=a(v).x;"
|
||||
"vec2 x=vec2(.01,0);"
|
||||
"vec3 f=y-vec3(a(v-x.xyy).x,a(v-x.yxy).x,a(v-x.yyx));"
|
||||
"return normalize(f);"
|
||||
"}"
|
||||
"vec3 e(vec3 v,vec3 f)"
|
||||
"float a(vec3 v,vec3 x,float y)"
|
||||
"{"
|
||||
"vec3 x=vec3(.5454);"
|
||||
"return x+(1.-x)*pow(clamp(1.-dot(v,f),0.,1.),5.);"
|
||||
"vec3 f=normalize(x-v),m=h(v);"
|
||||
"float i=clamp(dot(m,f),0.,.75),c=a(v+m*.0025,f);"
|
||||
"if(c<length(x-v))"
|
||||
"i*=y;"
|
||||
"return i;"
|
||||
"}"
|
||||
"vec3 e(vec3 v,vec3 f,float r,vec3 m,vec3 i,vec3 y,float k)"
|
||||
"vec3 h(vec2 v,vec3 y)"
|
||||
"{"
|
||||
"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 p(vec3 v,vec3 f)"
|
||||
"{"
|
||||
"float r=0.,i=1.;"
|
||||
"for(int x=0;x<8;x++)"
|
||||
"{"
|
||||
"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 r,float m)"
|
||||
"{"
|
||||
"float i=1.,y=p(v,f);"
|
||||
"vec3 n=vec3(.1529);"
|
||||
"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 e(vec3 f)"
|
||||
"{"
|
||||
"vec2 r=gl_FragCoord.xy/v.xy;"
|
||||
"f=mix(f,f*smoothstep(.8,.4,length(r-vec2(.5))),.9);"
|
||||
"f=mix(f,smoothstep(0.,1.,f),.5);"
|
||||
"f*=vec3(1);"
|
||||
"return pow(f,vec3(1./2.2));"
|
||||
"}"
|
||||
"vec3 e(vec2 f,vec3 v,vec3 x)"
|
||||
"{"
|
||||
"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 x)"
|
||||
"{"
|
||||
"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 p(vec2 v)"
|
||||
"{"
|
||||
"bool r=!true;"
|
||||
"vec3 f=vec3(0,5,-3),y=vec3(0),i;"
|
||||
"i=r?"
|
||||
"p(v,f,y):"
|
||||
"e(v,f,y);"
|
||||
"vec3 m=vec3(.051,.0667,.1529),n=vec3(0),d=s(f,i,n),c=i;"
|
||||
"if(d.z>0.)"
|
||||
"{"
|
||||
"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 m;"
|
||||
"vec3 x=normalize(vec3(0)-y),f=normalize(cross(vec3(0,1,0),x));"
|
||||
"return normalize(x+v.x*f+v.y*cross(x,f));"
|
||||
"}"
|
||||
"void main()"
|
||||
"{"
|
||||
"vec3 v=vec3(0);"
|
||||
"v+=p(s());"
|
||||
"v=e(v);"
|
||||
"gl_FragColor=vec4(v,1);"
|
||||
"vec2 x=(gl_FragCoord.xy*2.-y.xy)/y.y;"
|
||||
"vec3 v=vec3(0,2,3),f=h(x,v),i=vec3(0);"
|
||||
"float c=a(v,f);"
|
||||
"if(c<1e3)"
|
||||
"{"
|
||||
"vec3 m=v+f*c;"
|
||||
"float l=a(m).y,r=a(m,vec3(3,5,4),.2);"
|
||||
"i=vec3(r*vec3(1));"
|
||||
"r=a(m,vec3(-3,5,-4),.1);"
|
||||
"i+=vec3(r*vec3(.5,.2,.1));"
|
||||
"if(l==0.)"
|
||||
"i*=vec3(0,0,1);"
|
||||
"else if(l==1.)"
|
||||
"i*=vec3(0,1,0);"
|
||||
"else if(l==2.)"
|
||||
"i*=vec3(1,0,0);"
|
||||
"}"
|
||||
"gl_FragColor=vec4(i,1);"
|
||||
"}";
|
||||
|
||||
#endif // SHADER_MINIFIED_H_
|
||||
|
||||
Reference in New Issue
Block a user