diff --git a/Assets/test/QuineSurface.shader b/Assets/test/QuineSurface.shader index 08773dc..d1cef68 100644 --- a/Assets/test/QuineSurface.shader +++ b/Assets/test/QuineSurface.shader @@ -1,2 +1,2 @@ Shader"h"{Properties{_t("",2D)=""}SubShader{CGPROGRAM #pragma surface s Standard -struct Input{float2 uv_t;};void s(Input u,inout SurfaceOutputStandard o){const uint t[]={0x2f00576f,0x33f2daf7,0x3b3e892f,0x341ab0cd,0x39140cc6,0x3642f521,0x53b01103,0x5843a14b,0x22a54455,0x5d855ba6,0x607b6a2b,0x401f30ed,0x1adde055,0x276739b0,0x46cee37b,0x70bc799e,0x73a439b4,0x208fff2e,0x4095ea40,0x78656b73,0x011e2b7b,0x7d997ab9,0x44c9692f,0x7699f55b,0x011b0aee,0x3e24e313,0x5889a37d,0x25db0c8a,0x58b8d37b,0x70bc799e,0x00c6903d,0x3e733d70,0x58c34670,0x438677b7,0x56037f75,0x53b5cea3,0x09ebc134,0x2c299338,0x18f6ebf7,0x0eb63932,0x09dc5151,0x029203e4,0x0c7d1484,0x13bec954,0x2c1174d6,0x161877a3,0x09e3ef55,0x2c294923,0x160184a7,0x111eec27,0x11a3ebf4,0x0c6445a2,0x09eb29f4,0x2c28e4d3,0x2c390136,0x0a123ea7,0x111f0488,0x0cc21df7,0x139099a2,0x09cc02f6,0x141550f2,0x1136a457,0x09d562a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c313093,0x0509aba3,0x02a7e2a9,0x2c11a4a3,0x1155e9a8,0x079249a2,0x04ea5027,0x09e502a4,0x09dc0662,0x09d562f2,0x09cccc89,0x2c11a4aa,0x02b07fa2,0x04f24ff3,0x0f32ebfa,0x111eeea3,0x077a2b35,0x07e036f9,0x11a450e9,0x13bf9342,0x1136a689,0x0a0c1344,0x04fa515a,0x2c294926,0x163866a3,0x07919b3a,0x141538d6,0x0a1289a2,0x051112f9,0x04eb92a3,0x1881d4a8,0x0cc1d2aa,0x0ec70485,0x1147a2f8,0x079a0142,0x13af2b87,0x16394344,0x161124a6,0x0799a0a2,0x09d3eb53,0x2c11748a,0x0ed57ba4,0x07630548,0x18f70502,0x05195f55,0x1685d4d2,0x0ee57a56,0x2c219185,0x079b13e7,0x13af5d42,0x13a03a39,0x2c30b439,0x2c01d2a9,0x0791e9a8,0x07a1b7e2,0x18739393,0x111fcb43,0x2c40b881,0x0ef470a3,0x04f1ba41,0x02888ea2,0x09d3eb51,0x2c0a2134,0x02a1a484,0x13b7daa2,0x2c115b37,0x02841b00,0x78656b73,0x00ce7d76,0x596d96a7,0x0ed9e65c,0x7120f422,0x89c43af1,0x2db2aa56,0x8e2966d8,0x90fdc7cc,0x8c3030e6,0x7d5f59cc,0x94fd525e,0x983ee7f3,0x0c7e903d,0x53f6fec2,0x13931d02,0x0671bfad,0x99ecd2bd,0x9bbbb78b,0x06e6efc2,0x04f029a9,0xa216e35f,0x4630f481,0x529ca2d5,0x96cc99bc,0x4c1a6d11,0x979fca35,0x976e408b,0x0673dfe1,0x474477fc,0x53f6ff12,0x13931a33,0x02b057fd,0x53da0d03,0x10491019,0x343a0022,0x10373fb5,0x7d639591,0x21cbc4d1,0x7ceedaa9,0x0402ecf2,0x4c7f785c,0x8c303163,0x89c4af56,0x2b5b4287,0x12a7f209,0x78003b79,0x53f9bbb6,0x52428f4d,0x83478ee8,0x91cdb101,0x9772a634,0xa972a903,0x55730000},R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,7642145,206118,3312673,72774,1049633,133250,31,2130978,3319079,1116225,229600,2240642,5286,6587686,6337838,3312809,6595878,2270697,585393,11512810,12923174,11953,7465,272866,7407687,33826,5282,131202,3179555,3213379,32,166048,18157905,567428,567426,72768,7168,1118273,72955190,4260932,9570592,211030020,131200,266305,7375911,306601};float2 p=u.uv_t*55;uint c,X=p.x,Y=p.y,i=X+(54-Y)*55;if(i>169&&i<2248){c=(i-170)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-170)/11]>>(7-(c-2)&7)*4&15)+1;}else{i-=(i>170)*2077;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;o.Albedo=(X<5)*R[c]>>(X+Y*5)&1;}ENDCG}} \ No newline at end of file +struct Input{float2 uv_t;};void s(Input u,inout SurfaceOutputStandard o){float2 p=u.uv_t*55;uint t[]={0x2f00576f,0x33f2daf7,0x3b3e892f,0x341ab0cd,0x39140cc6,0x3642f521,0x53b01103,0x5843a14b,0x22a54455,0x5d855ba6,0x607b6a2b,0x401f30ed,0x1adde055,0x276739b0,0x46cee37b,0x70bc799e,0x73a439b4,0x208fff2e,0x4095ea40,0x78656b73,0x011e2b7b,0x7d997ab9,0x44c9692f,0x7699f55b,0x011b0aee,0x3e24e313,0x5889a37d,0x25db0c8a,0x58b8d37b,0x70bc799e,0x00c69040,0x78656b73,0x00ce7d74,0x596d96a5,0x0ed9e65c,0x7120f8a6,0x8752ea02,0x60e249b7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x1147a434,0x09cc8042,0x2c01bbd9,0x1601cfa7,0x0762bea4,0x0a037af1,0x2c195d33,0x18b06ea8,0x113e5ba5,0x0f32eb57,0x04f286a4,0x09d3ed38,0x0a5168f8,0x13b0d2a1,0x0c83d044,0x2c020543,0x0eaf9342,0x2c09a341,0x18a966a4,0x09d49a58,0x18f6d2a2,0x112ebcf2,0x076b6c31,0x02fdebf5,0x02a82e02,0x0ebe5342,0x1146c387,0x16317434,0x0a036249,0x2c11a4a3,0x1601cfa7,0x0ef4b8d8,0x1685ebf8,0x02a8ac92,0x0eece74a,0x0a50d2a6,0x04fa51a1,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c30ff36,0x2c0a38f9,0x114f7485,0x02b031d8,0x2c11a6d3,0x11a436f9,0x07dfd342,0x075b20a4,0x07dfd437,0x0298f6a4,0x05217be6,0x0f3304f2,0x09e40b32,0x052883e8,0x18726ba6,0x1155fdf9,0x2c219185,0x078b7483,0x13bf96a8,0x051996a2,0x04f281f8,0x0a5168fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fdd342,0x075aeea3,0x114e1456,0x2c30e686,0x1879d7a4,0x02a85f52,0x560522ba,0x7f7aa3f2,0x4115efbc,0x54bd4cb6,0x0e0f5b85,0x0ed6a643,0x44dc0ffd,0x0528ae9e,0x46487bf3,0x16fd1332,0x4c8f9ca9,0x0acc10a2,0x7cebe64f,0x0951db4f,0x99f95b72,0xa18aeca2,0x046d0512,0x4c873fcc,0x928c8261,0xa3a2e36d,0x95e00adf,0x2192158e,0x148efece,0x05142b72,0x7d95f66d,0x25557ee2,0x4c8fb5a9,0x0acafdf1,0x0c610f32,0x4393b0f6,0x87d707e5,0x4c900aa6,0x7d63e8c3,0x462ebd5d,0xa49d8183,0x21b454d1,0x7d9a0bbf,0x4115fcf9,0x522fcf28,0x53f6ca51,0x9434c997,0x7d4b7101,0x1dc295f2,0x4d6aa901,0x829afa47,0x96cca8bb,0x8cc7b08e,0x0673f085,0x4f44d113},R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,7642145,206118,3312673,72774,1049633,133250,31,2130978,3319079,1116225,229600,2240642,5286,6587686,6337838,3312809,6595878,2270697,585393,11512810,12923174,11953,7465,272866,7407687,33826,5282,131202,32,166048,3179555,3213379,18157905,567428,567426,72768,7168,1118273,72955190,4260932,9570592,211030020,131200,266305,7375911,306601},X=p.x,Y=p.y,i=X+(54-Y)*55,c;if(i>182&&i<2228){c=(i-183)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-183)/11]>>(7-(c-2)&7)*4&15)+1;}else{i-=(i>183)*2044;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;o.Albedo=(X<5)*R[c]>>(X+Y*5)&1;}ENDCG}} \ No newline at end of file diff --git a/text_shader/out_golfed.h b/text_shader/out_golfed.h index 15317d3..8beec2c 100644 --- a/text_shader/out_golfed.h +++ b/text_shader/out_golfed.h @@ -1,5 +1,5 @@ -const uint t[]={0x2f00576f,0x33f2daf7,0x3b3e892f,0x341ab0cd,0x39140cc6,0x3642f521,0x53b01103,0x5843a14b,0x22a54455,0x5d855ba6,0x607b6a2b,0x401f30ed,0x1adde055,0x276739b0,0x46cee37b,0x70bc799e,0x73a439b4,0x208fff2e,0x4095ea40,0x78656b73,0x011e2b7b,0x7d997ab9,0x44c9692f,0x7699f55b,0x011b0aee,0x3e24e313,0x5889a37d,0x25db0c8a,0x58b8d37b,0x70bc799e,0x00c6903d,0x3e733d70,0x58c34670,0x438677b7,0x56037f75,0x53b5cea3,0x09ebc134,0x2c299338,0x18f6ebf7,0x0eb63932,0x09dc5151,0x029203e4,0x0c7d1484,0x13bec954,0x2c1174d6,0x161877a3,0x09e3ef55,0x2c294923,0x160184a7,0x111eec27,0x11a3ebf4,0x0c6445a2,0x09eb29f4,0x2c28e4d3,0x2c390136,0x0a123ea7,0x111f0488,0x0cc21df7,0x139099a2,0x09cc02f6,0x141550f2,0x1136a457,0x09d562a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c313093,0x0509aba3,0x02a7e2a9,0x2c11a4a3,0x1155e9a8,0x079249a2,0x04ea5027,0x09e502a4,0x09dc0662,0x09d562f2,0x09cccc89,0x2c11a4aa,0x02b07fa2,0x04f24ff3,0x0f32ebfa,0x111eeea3,0x077a2b35,0x07e036f9,0x11a450e9,0x13bf9342,0x1136a689,0x0a0c1344,0x04fa515a,0x2c294926,0x163866a3,0x07919b3a,0x141538d6,0x0a1289a2,0x051112f9,0x04eb92a3,0x1881d4a8,0x0cc1d2aa,0x0ec70485,0x1147a2f8,0x079a0142,0x13af2b87,0x16394344,0x161124a6,0x0799a0a2,0x09d3eb53,0x2c11748a,0x0ed57ba4,0x07630548,0x18f70502,0x05195f55,0x1685d4d2,0x0ee57a56,0x2c219185,0x079b13e7,0x13af5d42,0x13a03a39,0x2c30b439,0x2c01d2a9,0x0791e9a8,0x07a1b7e2,0x18739393,0x111fcb43,0x2c40b881,0x0ef470a3,0x04f1ba41,0x02888ea2,0x09d3eb51,0x2c0a2134,0x02a1a484,0x13b7daa2,0x2c115b37,0x02841b00,0x78656b73,0x00ce7d76,0x596d96a7,0x0ed9e65c,0x7120f422,0x89c43af1,0x2db2aa56,0x8e2966d8,0x90fdc7cc,0x8c3030e6,0x7d5f59cc,0x94fd525e,0x983ee7f3,0x0c7e903d,0x53f6fec2,0x13931d02,0x0671bfad,0x99ecd2bd,0x9bbbb78b,0x06e6efc2,0x04f029a9,0xa216e35f,0x4630f481,0x529ca2d5,0x96cc99bc,0x4c1a6d11,0x979fca35,0x976e408b,0x0673dfe1,0x474477fc,0x53f6ff12,0x13931a33,0x02b057fd,0x53da0d03,0x10491019,0x343a0022,0x10373fb5,0x7d639591,0x21cbc4d1,0x7ceedaa9,0x0402ecf2,0x4c7f785c,0x8c303163,0x89c4af56,0x2b5b4287,0x12a7f209,0x78003b79,0x53f9bbb6,0x52428f4d,0x83478ee8,0x91cdb101,0x9772a634,0xa972a903,0x55730000} -b=170; -uint magic_number_L_plus_b= 2248; -uint magic_number_L= 2077; -const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,7642145,206118,3312673,72774,1049633,133250,31,2130978,3319079,1116225,229600,2240642,5286,6587686,6337838,3312809,6595878,2270697,585393,11512810,12923174,11953,7465,272866,7407687,33826,5282,131202,3179555,3213379,32,166048,18157905,567428,567426,72768,7168,1118273,72955190,4260932,9570592,211030020,131200,266305,7375911,306601}; +const uint t[]={0x2f00576f,0x33f2daf7,0x3b3e892f,0x341ab0cd,0x39140cc6,0x3642f521,0x53b01103,0x5843a14b,0x22a54455,0x5d855ba6,0x607b6a2b,0x401f30ed,0x1adde055,0x276739b0,0x46cee37b,0x70bc799e,0x73a439b4,0x208fff2e,0x4095ea40,0x78656b73,0x011e2b7b,0x7d997ab9,0x44c9692f,0x7699f55b,0x011b0aee,0x3e24e313,0x5889a37d,0x25db0c8a,0x58b8d37b,0x70bc799e,0x00c69040,0x78656b73,0x00ce7d74,0x596d96a5,0x0ed9e65c,0x7120f8a6,0x8752ea02,0x60e249b7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x1147a434,0x09cc8042,0x2c01bbd9,0x1601cfa7,0x0762bea4,0x0a037af1,0x2c195d33,0x18b06ea8,0x113e5ba5,0x0f32eb57,0x04f286a4,0x09d3ed38,0x0a5168f8,0x13b0d2a1,0x0c83d044,0x2c020543,0x0eaf9342,0x2c09a341,0x18a966a4,0x09d49a58,0x18f6d2a2,0x112ebcf2,0x076b6c31,0x02fdebf5,0x02a82e02,0x0ebe5342,0x1146c387,0x16317434,0x0a036249,0x2c11a4a3,0x1601cfa7,0x0ef4b8d8,0x1685ebf8,0x02a8ac92,0x0eece74a,0x0a50d2a6,0x04fa51a1,0x2c01ee23,0x09d469a2,0x04f29be4,0x2c30ff36,0x2c0a38f9,0x114f7485,0x02b031d8,0x2c11a6d3,0x11a436f9,0x07dfd342,0x075b20a4,0x07dfd437,0x0298f6a4,0x05217be6,0x0f3304f2,0x09e40b32,0x052883e8,0x18726ba6,0x1155fdf9,0x2c219185,0x078b7483,0x13bf96a8,0x051996a2,0x04f281f8,0x0a5168fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fdd342,0x075aeea3,0x114e1456,0x2c30e686,0x1879d7a4,0x02a85f52,0x560522ba,0x7f7aa3f2,0x4115efbc,0x54bd4cb6,0x0e0f5b85,0x0ed6a643,0x44dc0ffd,0x0528ae9e,0x46487bf3,0x16fd1332,0x4c8f9ca9,0x0acc10a2,0x7cebe64f,0x0951db4f,0x99f95b72,0xa18aeca2,0x046d0512,0x4c873fcc,0x928c8261,0xa3a2e36d,0x95e00adf,0x2192158e,0x148efece,0x05142b72,0x7d95f66d,0x25557ee2,0x4c8fb5a9,0x0acafdf1,0x0c610f32,0x4393b0f6,0x87d707e5,0x4c900aa6,0x7d63e8c3,0x462ebd5d,0xa49d8183,0x21b454d1,0x7d9a0bbf,0x4115fcf9,0x522fcf28,0x53f6ca51,0x9434c997,0x7d4b7101,0x1dc295f2,0x4d6aa901,0x829afa47,0x96cca8bb,0x8cc7b08e,0x0673f085,0x4f44d113} +b=183; +uint magic_number_L_plus_b= 2228; +uint magic_number_L= 2044; +const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,7642145,206118,3312673,72774,1049633,133250,31,2130978,3319079,1116225,229600,2240642,5286,6587686,6337838,3312809,6595878,2270697,585393,11512810,12923174,11953,7465,272866,7407687,33826,5282,131202,32,166048,3179555,3213379,18157905,567428,567426,72768,7168,1118273,72955190,4260932,9570592,211030020,131200,266305,7375911,306601};