| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct buf0 { |
| /* 0x0000 */ packed_float2 resolution; |
| }; |
| struct main_out { |
| float4 x_GLF_color_1; |
| }; |
| struct tint_symbol_1 { |
| 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_111 = i; |
| if ((x_111 < 800)) { |
| } else { |
| break; |
| } |
| int const x_114 = i; |
| if (((x_114 % 32) == 0)) { |
| float const x_120 = result; |
| result = (x_120 + 0.400000006f); |
| } else { |
| int const x_122 = i; |
| float const x_124 = *(thirty_two); |
| if ((fmod(float(x_122), rint(x_124)) <= 0.01f)) { |
| float const x_130 = result; |
| result = (x_130 + 100.0f); |
| } |
| } |
| int const x_132 = i; |
| float const x_134 = *(limit); |
| if ((float(x_132) >= x_134)) { |
| float const x_138 = result; |
| return x_138; |
| } |
| { |
| int const x_139 = i; |
| i = as_type<int>((as_type<uint>(x_139) + as_type<uint>(1))); |
| } |
| } |
| float const x_141 = result; |
| return x_141; |
| } |
| |
| void main_1(constant buf0& x_13, thread float4* const tint_symbol_3, thread float4* const tint_symbol_4) { |
| 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; |
| c = float3(7.0f, 8.0f, 9.0f); |
| float const x_56 = x_13.resolution.x; |
| thirty_two_1 = rint((x_56 / 8.0f)); |
| float const x_60 = (*(tint_symbol_3)).x; |
| param = x_60; |
| float const x_61 = thirty_two_1; |
| param_1 = x_61; |
| float const x_62 = compute_value_f1_f1_(&(param), &(param_1)); |
| c.x = x_62; |
| float const x_65 = (*(tint_symbol_3)).y; |
| param_2 = x_65; |
| float const x_66 = thirty_two_1; |
| param_3 = x_66; |
| float const x_67 = compute_value_f1_f1_(&(param_2), &(param_3)); |
| c.y = x_67; |
| float const x_70 = c.x; |
| float const x_72 = c.y; |
| c.z = (x_70 + x_72); |
| i_1 = 0; |
| while (true) { |
| int const x_79 = i_1; |
| if ((x_79 < 3)) { |
| } else { |
| break; |
| } |
| int const x_82 = i_1; |
| float const x_84 = c[x_82]; |
| if ((x_84 >= 1.0f)) { |
| int const x_88 = i_1; |
| int const x_89 = i_1; |
| float const x_91 = c[x_89]; |
| int const x_92 = i_1; |
| float const x_94 = c[x_92]; |
| c[x_88] = (x_91 * x_94); |
| } |
| { |
| int const x_97 = i_1; |
| i_1 = as_type<int>((as_type<uint>(x_97) + as_type<uint>(1))); |
| } |
| } |
| float3 const x_99 = c; |
| float3 const x_101 = normalize(fabs(x_99)); |
| *(tint_symbol_4) = float4(x_101.x, x_101.y, x_101.z, 1.0f); |
| return; |
| } |
| |
| main_out tint_symbol_inner(constant buf0& x_13, float4 gl_FragCoord_param, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) { |
| *(tint_symbol_5) = gl_FragCoord_param; |
| main_1(x_13, tint_symbol_5, tint_symbol_6); |
| main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_6)}; |
| return tint_symbol_2; |
| } |
| |
| fragment tint_symbol_1 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_13 [[buffer(0)]]) { |
| thread float4 tint_symbol_7 = 0.0f; |
| thread float4 tint_symbol_8 = 0.0f; |
| main_out const inner_result = tint_symbol_inner(x_13, gl_FragCoord_param, &(tint_symbol_7), &(tint_symbol_8)); |
| tint_symbol_1 wrapper_result = {}; |
| wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; |
| return wrapper_result; |
| } |
| |