cvr-props/Assets/test/quine_golf.shader

23 lines
4.6 KiB
Text
Raw Normal View History

2024-08-12 16:06:51 +02:00
Shader"S"{SubShader{Pass{CGPROGRAM#pragma vertex a
#pragma fragment f
2024-08-11 19:28:17 +02:00
#include"UnityCG.cginc"
2024-08-12 19:33:44 +02:00
#define g const uint
2024-08-12 16:06:51 +02:00
struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};
V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}
float3 f(V U):SV_Target{
2024-08-12 19:33:44 +02:00
g t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc251,0x22a4ccf8,0x24a26b0d,0x718915e0,0x3bdc4407,0x40a4f48d,0x5cc90e40,0x67f27ee5,0x0125aeee,0x2fded81e,0x7ba20d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7dd7e131,0x8802215d,0x793c7eb0,0x7ad99288,0x76b88a6f,0x7aea15b0,0x85a02346,0x3401d0e0,0x8bde4d4e,0x1c042b18,0x7442f4ab,0x4a2b45e1,0x7d04286b,0x5ced1bbf,0x3025cfee,0x2fded81e,0x7ba4b2d0,0x79543a04,0x4850f4c8,0x4a92c0fb,0x79586a84,0x48664053,0x60f453ab,0x4bb2afd7,0x8b2d8e1b,0x7b8dda68,0x2ffe1689,0x8a33e821,0x4d385378,0x76dbaecc,0x7dd7e131,0x88013fd0,0x791b1a40,0x98f9c18b,0x7868928b,0x8bba30f3,0x6a865f87,0x8a33f131,0x7628343e,0x80af215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe4319c,0x7deed0cf,0x6a378d0c,0x49a204bd,0x5e49569a,0x65251f7a,0x913080cc,0x7deeccbf,0x5bb6f805,0x25ca3eb8,0x016c6d47,0x285ca196,0x09c5a2a9,0x0155dac3,0x8ce34c85,0x55ebed57,0x5576ca92,0x9a886a17,0x55743fb5,0x11337753,0x0211dddf,0x3830939a,0x02913d22,0x115f12a5,0x02a82e99,0x027a92f5,0x09ebc188,0x0c5dd2f5,0x09ebd997,0x0ede7342,0x05306d81,0x0c3e93e1,0x0c6bc9f9,0x0c7d12f1,0x0789e34a,0x0ebf33e2,0x0528b6d3,0x13a132f5,0x0c642c93,0x077bd2f2,0x04f9d45a,0x04fb32f2,0x02818247,0x051a7345,0x162044d3,0x0cc25043,0x0ecd8d62,0x079248fa,0x077af162,0x0762d2f6,0x115631e2,0x0c4ca486,0x18724d62,0x18a12d53,0x077bd2a4,0x0cc21f82,0x02813835,0x16860599,0x0c4583d9,0x2c029cd8,0x075c9345,0x111f3451,0x160292a4,0x113e43e4,0x11209528,0x0c456a31,0x2c09ee96,0x0c7c0091,0x2c291541,0x11365ea5,0x16383049,0x0c6c32a5,0x1397ec97,0x0791d0a3,0x0c5ca7e8,0x02b836a5,0x163f8433,0x13b730a3,0x04f1bb85,0x09e3f4a6,0x18b89e93,0x18a934a4,0x115dcd5a,0x18818ea4,0x09d3ed38,0x0a50d2fa,0x07727485,0x2c1221f7,0x077bd3e7,0x13af5ca2,0x13afa6a7,0x111fb6a3,0x13c69c27,0x18895ea3,0x0a0b33d1,0x2c020595,0x052933d1,0x2c098ae7,0x0edd46a3,0x2c1172a8,0x09d40723,0x2c219185,0x078b72a3,0x168650ea,0x0ee54a42,0x0c459b95,0x09dd3398,0x0c3dcaaa,0x115f12a1,0x0c5ca6a7,0x18b870a6,0x1879bb33,0x0edccea5,0x05309e94,0x16863655,0x0ef4b924,0x11a438d2,0x02a02e27,0x02fdd257,0x0762bae3,0x168638d9,0x0eecb455,0x02fe1fd1,0x2c21c3d9,0x0528e831,0x2c30b481,0x02a05ea2,0x0c3d4fd2,0x16185aa2,0x075bcd29,0x0ee4cde2,0x09ebc048,0x07996ea2,0x0298f382,0x0280d302,0x0509c225,0x0c3ceea3,0x115e1857,0x04f9f2a3,0x0290c022,0x0ebd8ea3,0x02a090e7,0x078294a6,0x0298a926,0x0c7c36a2,0x02a7fd81,0x13a13397,0x0ee4b3e3,0x2c1a0aa6,0x075c9482,0x0eddab98,0x07e068fa,0x0ed51521,0x2c020634,0x0c8401f5,0x2c40b881,0x0ef470a6,0x0c644723,0x1155d0da,0x7db54d4e,0x1c03e562,0x6d5c7128,0x6f3b663a,0x7d0e049d,0x3bf94e47,0x19fc46a9,0x62d0e422,0x64a703d7,0x2d963c83,0x88378c19,0x9b73df77,0x18215204,0x116a2759,0x28e1076f,0x1f859519,0x0a02b50c,0x395921eb,0x663d1f0a,0x04f6a759,0x28de64d3,0x92e7c97e,0xb473e005,0x067443da,0x3fef3ce0,0x907e9ab2,0x044718b2,0x178b43da,0x3fef344f,0x913a4b99,0xab49b372,0x06eca56b,0x905068ab,0x24513e08,0x1562b145,0x94aeb41c,0xa889a76a,0x25e9aec7,0x6078f299,0xadbaa916,0x99ee8ce7,0x7db508d6,0x9ff8a522,0x7d0484cb,0x66614913,0x6653dd19,0xaa95f05b,0x9a1578fd,0xb6971183,0x8ed022eb,0x6d945204,0x12aab0eb,0x2ba92004,0x12a9459f,0x5d839980,0xa59029e7,0xaf2932c7,0xa638d282,0xa7d633d6,0x940e5154,0x7bba8bfa,0x8f5f2000,};
g b=462;
g F[]={0,490399168,140644800,243467744,243474656,311927040,504602848,202613952,511838272,244524224,211230912,210183616,34841824,6325440,277292480,211256768,421759040,9640224,134,471015648,34841888,198720,346030080,136415360,9741760,244548640,6330630,487638464,471246272,244557088,488162752,211074336,599442976,368409920,3312673,12923174,382624,567424,74516608,277096930,238880,134418880,205656512,311731392,567426,128,6595776,4194432,474091968,1044516992,591062560,4194438,504595936,581052960,106210528,588583040,480,588818560,71700544,404818304,209985728,34637280,1048710112,14694400,268706124,203491520,205656256,504595488,10627072,4657152,491520,71569472,72955190,136349824,9570592,545392672,};
float x,y=U.u.y*69;x=U.u.x*69;
uint c,i,d,Y,X=x;Y=y;i=X+(68-Y)*69;
2024-08-12 19:33:44 +02:00
if(i>=b&&i<3718){
d=(i-b)%11;
2024-08-11 19:28:17 +02:00
if(d<2)c=(d<<4)+1;
else if(d==10)c=18;
else c=(t[(i-b)/11]>>((7-((d-2)&7))*4)&15)+1;
}else{
2024-08-12 19:33:44 +02:00
if(i>b)i-=3256;
c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}
Y=(y-Y)*6;X=(x-X)*6;
return F[c]>>(X+Y*5)&1*(X<5);
2024-08-11 19:28:17 +02:00
}ENDCG}}}