| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct buf0 { |
| /* 0x0000 */ packed_float2 resolution; |
| }; |
| struct buf1 { |
| /* 0x0000 */ packed_float2 injectionSwitch; |
| }; |
| struct main_out { |
| float4 x_GLF_color_1; |
| }; |
| struct tint_symbol_2 { |
| float4 x_GLF_color_1 [[color(0)]]; |
| }; |
| |
| float compute_value_f1_f1_(thread float* const limit, thread float* const thirty_two) { |
| float result = 0.0f; |
| int i = 0; |
| result = -0.5f; |
| i = 1; |
| while (true) { |
| int const x_125 = i; |
| if ((x_125 < 800)) { |
| } else { |
| break; |
| } |
| int const x_128 = i; |
| if (((x_128 % 32) == 0)) { |
| float const x_134 = result; |
| result = (x_134 + 0.400000006f); |
| } else { |
| int const x_136 = i; |
| float const x_138 = *(thirty_two); |
| if ((fmod(float(x_136), rint(x_138)) <= 0.01f)) { |
| float const x_144 = result; |
| result = (x_144 + 100.0f); |
| } |
| } |
| int const x_146 = i; |
| float const x_148 = *(limit); |
| if ((float(x_146) >= x_148)) { |
| float const x_152 = result; |
| return x_152; |
| } |
| { |
| int const x_153 = i; |
| i = (x_153 + 1); |
| } |
| } |
| float const x_155 = result; |
| return x_155; |
| } |
| |
| void main_1(constant buf0& x_13, constant buf1& x_20, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) { |
| float3 c = 0.0f; |
| float thirty_two_1 = 0.0f; |
| float param = 0.0f; |
| float param_1 = 0.0f; |
| float param_2 = 0.0f; |
| float param_3 = 0.0f; |
| int i_1 = 0; |
| float3 x_58 = 0.0f; |
| c = float3(7.0f, 8.0f, 9.0f); |
| float const x_60 = x_13.resolution.x; |
| thirty_two_1 = rint((x_60 / 8.0f)); |
| float const x_64 = (*(tint_symbol_5)).x; |
| param = x_64; |
| float const x_65 = thirty_two_1; |
| param_1 = x_65; |
| float const x_66 = compute_value_f1_f1_(&(param), &(param_1)); |
| c.x = x_66; |
| float const x_69 = (*(tint_symbol_5)).y; |
| param_2 = x_69; |
| float const x_70 = thirty_two_1; |
| param_3 = x_70; |
| float const x_71 = compute_value_f1_f1_(&(param_2), &(param_3)); |
| c.y = x_71; |
| float const x_74 = c.x; |
| float const x_76 = c.y; |
| c.z = (x_74 + x_76); |
| i_1 = 0; |
| while (true) { |
| int const x_83 = i_1; |
| if ((x_83 < 3)) { |
| } else { |
| break; |
| } |
| int const x_86 = i_1; |
| float const x_88 = c[x_86]; |
| if ((x_88 >= 1.0f)) { |
| int const x_92 = i_1; |
| int const x_93 = i_1; |
| float const x_95 = c[x_93]; |
| int const x_96 = i_1; |
| float const x_98 = c[x_96]; |
| c[x_92] = (x_95 * x_98); |
| } |
| { |
| int const x_101 = i_1; |
| i_1 = (x_101 + 1); |
| } |
| } |
| float const x_104 = x_20.injectionSwitch.x; |
| float const x_106 = x_20.injectionSwitch.y; |
| if ((x_104 < x_106)) { |
| float3 const x_111 = c; |
| x_58 = fabs(x_111); |
| } else { |
| float3 const x_113 = c; |
| x_58 = x_113; |
| } |
| float3 const x_114 = x_58; |
| float3 const x_115 = normalize(x_114); |
| *(tint_symbol_6) = float4(x_115.x, x_115.y, x_115.z, 1.0f); |
| return; |
| } |
| |
| fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_13 [[buffer(0)]], constant buf1& x_20 [[buffer(1)]]) { |
| thread float4 tint_symbol_7 = 0.0f; |
| thread float4 tint_symbol_8 = 0.0f; |
| tint_symbol_7 = gl_FragCoord_param; |
| main_1(x_13, x_20, &(tint_symbol_7), &(tint_symbol_8)); |
| main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_8}; |
| tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1}; |
| return tint_symbol_4; |
| } |
| |