99 lines
7.1 KiB
Plaintext
99 lines
7.1 KiB
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct buf0 {
|
|
/* 0x0000 */ packed_float2 resolution;
|
|
};
|
|
struct tint_array_wrapper {
|
|
int arr[256];
|
|
};
|
|
struct main_out {
|
|
float4 x_GLF_color_1;
|
|
};
|
|
struct tint_symbol_2 {
|
|
float4 x_GLF_color_1 [[color(0)]];
|
|
};
|
|
|
|
float4 trace_vi2_(thread int2* const pos) {
|
|
tint_array_wrapper indexable = {};
|
|
tint_array_wrapper indexable_1 = {};
|
|
float p = 0.0f;
|
|
tint_array_wrapper indexable_2 = {};
|
|
while (true) {
|
|
bool x_251 = false;
|
|
bool x_252_phi = false;
|
|
int const x_229 = (*(pos)).y;
|
|
if ((x_229 != 256)) {
|
|
} else {
|
|
break;
|
|
}
|
|
int const x_233 = (*(pos)).x;
|
|
int const x_235 = (*(pos)).y;
|
|
tint_array_wrapper const tint_symbol_4 = {.arr={115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94}};
|
|
indexable = tint_symbol_4;
|
|
int const x_237 = indexable.arr[x_235];
|
|
tint_array_wrapper const x_238 = indexable;
|
|
tint_array_wrapper const tint_symbol_5 = {.arr={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
|
|
indexable = tint_symbol_5;
|
|
int const x_239 = (*(pos)).y;
|
|
(*(pos)).y = 0;
|
|
(*(pos)).y = x_239;
|
|
indexable = x_238;
|
|
bool const x_241 = (x_233 < (x_237 + 15));
|
|
x_252_phi = x_241;
|
|
if (x_241) {
|
|
int const x_245 = (*(pos)).x;
|
|
int const x_247 = (*(pos)).y;
|
|
tint_array_wrapper const tint_symbol_6 = {.arr={115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94}};
|
|
indexable_1 = tint_symbol_6;
|
|
int const x_249 = indexable_1.arr[x_247];
|
|
x_251 = (x_245 > (x_249 - 15));
|
|
x_252_phi = x_251;
|
|
}
|
|
bool const x_252 = x_252_phi;
|
|
if (x_252) {
|
|
int const x_256 = (*(pos)).x;
|
|
int const x_258 = (*(pos)).y;
|
|
tint_array_wrapper const tint_symbol_7 = {.arr={115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94}};
|
|
indexable_2 = tint_symbol_7;
|
|
int const x_260 = indexable_2.arr[x_258];
|
|
p = ((15.0f - fabs(float((x_256 - x_260)))) / 15.0f);
|
|
float const x_266 = p;
|
|
float const x_267 = p;
|
|
float const x_268 = p;
|
|
return float4(x_266, x_267, x_268, 1.0f);
|
|
}
|
|
int const x_271 = (*(pos)).y;
|
|
(*(pos)).y = (x_271 + 1);
|
|
}
|
|
return float4(0.0f, 0.0f, 0.0f, 1.0f);
|
|
}
|
|
|
|
void main_1(constant buf0& x_13, thread float4* const tint_symbol_9, thread float4* const tint_symbol_10) {
|
|
float2 pos_1 = 0.0f;
|
|
int2 ipos = 0;
|
|
int2 param = 0;
|
|
float4 const x_207 = *(tint_symbol_9);
|
|
float2 const x_210 = x_13.resolution;
|
|
pos_1 = (float2(x_207.x, x_207.y) / x_210);
|
|
float const x_213 = pos_1.x;
|
|
float const x_217 = pos_1.y;
|
|
ipos = int2(int((x_213 * 256.0f)), int((x_217 * 256.0f)));
|
|
int2 const x_221 = ipos;
|
|
param = x_221;
|
|
float4 const x_222 = trace_vi2_(&(param));
|
|
*(tint_symbol_10) = x_222;
|
|
return;
|
|
}
|
|
|
|
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_13 [[buffer(0)]]) {
|
|
thread float4 tint_symbol_11 = 0.0f;
|
|
thread float4 tint_symbol_12 = 0.0f;
|
|
tint_symbol_11 = gl_FragCoord_param;
|
|
main_1(x_13, &(tint_symbol_11), &(tint_symbol_12));
|
|
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_12};
|
|
tint_symbol_2 const tint_symbol_8 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
|
|
return tint_symbol_8;
|
|
}
|
|
|