port from perforce

This commit is contained in:
2026-04-18 22:31:51 +02:00
commit 8d0ab5b7cc
8409 changed files with 3972376 additions and 0 deletions

View File

@@ -0,0 +1 @@
static const uint f=0;static uint i=0,n=1;static const float z=3.14159,y=sqrt(5)*.5+.5,d=1000,m=.001;cbuffer _1:register(b0){float u,x,s,D;}SamplerState t:register(s0);Texture2D a[8]:register(t0);RWTexture2D<float4> e:register(u0);RWBuffer<uint4> r:register(u1);uint l(uint f){return f+=f<<10,f^=f>>6,f+=f<<3,f^=f>>11,f+=f<<15,f;}float l(){return asfloat((i=l(i)&8388607)|1065353216)-1;}float l(float f,float t,float i){return i=saturate((i-f)/(t-f)),i*i*i*(i*(i*6-15)+10);}float l(float3 f,float3 i){float3 n=abs(f)-i;return max(max(n.x,n.y),n.z);}float c(float3 f){f=abs(f);if(f.x<max(f.y,f.z))f=f.yzx;if(f.x<max(f.y,f.z))f=f.yzx;float i=max(max(max(dot(f,normalize(float3(1,1,1))),dot(f.xz,normalize(float2(y+1,1)))),dot(f.yx,normalize(float2(1,y)))),dot(f.xz,normalize(float2(1,y)))),n=length(f);return n-1.6125+.25*l(0.,.343,sin(acos(i/n-.0075)));}float c(float3 f,int i){return min(c(f),-l(f,float3(10,10,10)));}float p(float3 f){return c(f,1);}float b(float3 f){return c(f,0);}float3 b(float3 f,float i){return float3(b(f+float3(i,0,0)),b(f+float3(0,i,0)),b(f+float3(0,0,i)))-float3(b(f-float3(i,0,0)),b(f-float3(0,i,0)),b(f-float3(0,0,i)));}float2 p(float3 f,float3 i){float t=.0001,n=30,s=b(f)<0?-1:1;float2 u={0,d};for(int R=0;R<80;++R){float z=s*b(i*t+f),a=abs(z),y=a/t;if(y<u.y)u=float2(t,y);if(y<m||t>n)break;t+=z;}return float2(u.x,s*max(u.x*u.y,.004));}void R(int f,int z){r[++i]=int4((80+f-1)/f,(45+f-1)/f,1,1)*z;}[numthreads(16,16,1)]void _0(uint3 m:SV_DispatchThreadID){float2 y,d;e.GetDimensions(y.x,y.y);a[0].GetDimensions(d.x,d.y);float2 s=(m.xy+.5)/y,x=(s*2-1)*float2(y.x/y.y,-1);float3 c=-float3(0,0,-1),D=float3(0,1,0),r=cross(D,c),o=float3(0,0,3),S=normalize(mul(transpose(float3x3(r,D,c)),float3(x/2,-.5/tan(1.57075*60/180.))));float4 T=1;if(f==0){R(1,n==0?1:0);R(1,n==1?1:0);R(1,n==2?1:0);R(1,n==3?1:0);R(1,n==4?1:0);R(4,1);R(1,1);R(1,1);R(8,1);R(8,1);R(32,1);R(32,1);R(1,1);return;}else if(f>0&&f<4){float k=160,v=k/3.5,L=2*v*v;float2 g=(f>1?float2(1,0):float2(0,1))/y;for(float h=-k;h<=k;++h)T+=a[0].SampleLevel(t,h*g+s,0)*(f>2?1.5*(k-abs(h))*(k-abs(h))/(k*k*k):exp(-h*h/L)/sqrt(L*z));}else if(f==4)i=m.y,T=a[0].SampleLevel(t,s,0)+a[1].SampleLevel(t,s,0)*.025+a[2].SampleLevel(t,s,0)*.025+a[3].SampleLevel(t,s,0)*.025+a[4].SampleLevel(t,s,0)*lerp(1,l(),.125)*.25,T=max(0,T*.5),T=max(0,T*(T*1.28713+.153229)/(T*(T+3.33333)+.4)),T=pow(T,1/2.2);else if(f==5)T=frac(u)*float4(1.,.111111,0.,0.)+.5;else if(f==6){o.z+=sin(u);float2 k=p(o,S);T.xyz=normalize(b(S*k.x+o,.1))*.5+.5;if(isnan(dot(T.xyz,T.xyz)))T.xyz=float3(1000,0,0);}else if(f==7);else if(f==8);else if(f==9);e[m.xy]=T;}