137 lines
5.0 KiB
Plaintext
137 lines
5.0 KiB
Plaintext
|
#include <metal_stdlib>
|
||
|
|
||
|
using namespace metal;
|
||
|
struct buf0 {
|
||
|
/* 0x0000 */ packed_float2 resolution;
|
||
|
};
|
||
|
struct tint_array_wrapper {
|
||
|
float4 arr[8];
|
||
|
};
|
||
|
struct tint_array_wrapper_1 {
|
||
|
float4 arr[16];
|
||
|
};
|
||
|
struct main_out {
|
||
|
float4 x_GLF_color_1;
|
||
|
};
|
||
|
struct tint_symbol_2 {
|
||
|
float4 x_GLF_color_1 [[color(0)]];
|
||
|
};
|
||
|
|
||
|
bool collision_vf2_vf4_(thread float2* const pos, thread float4* const quad) {
|
||
|
float const x_110 = (*(pos)).x;
|
||
|
float const x_112 = (*(quad)).x;
|
||
|
if ((x_110 < x_112)) {
|
||
|
return false;
|
||
|
}
|
||
|
float const x_117 = (*(pos)).y;
|
||
|
float const x_119 = (*(quad)).y;
|
||
|
if ((x_117 < x_119)) {
|
||
|
return false;
|
||
|
}
|
||
|
float const x_124 = (*(pos)).x;
|
||
|
float const x_126 = (*(quad)).x;
|
||
|
float const x_128 = (*(quad)).z;
|
||
|
if ((x_124 > (x_126 + x_128))) {
|
||
|
return false;
|
||
|
}
|
||
|
float const x_134 = (*(pos)).y;
|
||
|
float const x_136 = (*(quad)).y;
|
||
|
float const x_138 = (*(quad)).w;
|
||
|
if ((x_134 > (x_136 + x_138))) {
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
float4 match_vf2_(thread float2* const pos_1, thread float4* const tint_symbol_9) {
|
||
|
float4 res = 0.0f;
|
||
|
float x_144 = 0.0f;
|
||
|
float x_145 = 0.0f;
|
||
|
int i = 0;
|
||
|
float2 param = 0.0f;
|
||
|
float4 param_1 = 0.0f;
|
||
|
tint_array_wrapper indexable = {};
|
||
|
tint_array_wrapper indexable_1 = {};
|
||
|
tint_array_wrapper indexable_2 = {};
|
||
|
tint_array_wrapper_1 indexable_3 = {};
|
||
|
float const x_147 = (*(tint_symbol_9)).x;
|
||
|
if ((x_147 < 0.0f)) {
|
||
|
x_144 = -1.0f;
|
||
|
} else {
|
||
|
float const x_153 = (*(tint_symbol_9)).x;
|
||
|
if ((x_153 >= 0.0f)) {
|
||
|
float const x_159 = (*(tint_symbol_9)).x;
|
||
|
x_145 = select(1.0f, 0.5f, (x_159 >= 0.0f));
|
||
|
} else {
|
||
|
x_145 = 1.0f;
|
||
|
}
|
||
|
float const x_162 = x_145;
|
||
|
x_144 = fmin(x_162, 0.5f);
|
||
|
}
|
||
|
float const x_164 = x_144;
|
||
|
res = float4(clamp(0.5f, 0.5f, x_164), 0.5f, 1.0f, 1.0f);
|
||
|
i = 0;
|
||
|
while (true) {
|
||
|
int const x_171 = i;
|
||
|
if ((x_171 < 8)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_174 = i;
|
||
|
float2 const x_175 = *(pos_1);
|
||
|
param = x_175;
|
||
|
tint_array_wrapper const tint_symbol_4 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
||
|
indexable = tint_symbol_4;
|
||
|
float4 const x_177 = indexable.arr[x_174];
|
||
|
param_1 = x_177;
|
||
|
bool const x_178 = collision_vf2_vf4_(&(param), &(param_1));
|
||
|
if (x_178) {
|
||
|
int const x_181 = i;
|
||
|
tint_array_wrapper const tint_symbol_5 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
||
|
indexable_1 = tint_symbol_5;
|
||
|
float const x_183 = indexable_1.arr[x_181].x;
|
||
|
int const x_185 = i;
|
||
|
tint_array_wrapper const tint_symbol_6 = {.arr={float4(4.0f, 4.0f, 20.0f, 4.0f), float4(4.0f, 4.0f, 4.0f, 20.0f), float4(4.0f, 20.0f, 20.0f, 4.0f), float4(20.0f, 4.0f, 4.0f, 8.0f), float4(8.0f, 6.0f, 4.0f, 2.0f), float4(2.0f, 12.0f, 2.0f, 4.0f), float4(16.0f, 2.0f, 4.0f, 4.0f), float4(12.0f, 22.0f, 4.0f, 4.0f)}};
|
||
|
indexable_2 = tint_symbol_6;
|
||
|
float const x_187 = indexable_2.arr[x_185].y;
|
||
|
int const x_190 = i;
|
||
|
tint_array_wrapper_1 const tint_symbol_7 = {.arr={float4(0.0f, 0.0f, 0.0f, 1.0f), float4(0.5f, 0.0f, 0.0f, 1.0f), float4(0.0f, 0.5f, 0.0f, 1.0f), float4(0.5f, 0.5f, 0.0f, 1.0f), float4(0.0f, 0.0f, 0.5f, 1.0f), float4(0.5f, 0.0f, 0.5f, 1.0f), float4(0.0f, 0.5f, 0.5f, 1.0f), float4(0.5f, 0.5f, 0.5f, 1.0f), float4(0.0f, 0.0f, 0.0f, 1.0f), float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(1.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), float4(1.0f, 0.0f, 1.0f, 1.0f), float4(0.0f, 1.0f, 1.0f, 1.0f), float4(1.0f, 1.0f, 1.0f, 1.0f)}};
|
||
|
indexable_3 = tint_symbol_7;
|
||
|
float4 const x_196 = indexable_3.arr[((((int(x_183) * int(x_187)) + (x_190 * 9)) + 11) % 16)];
|
||
|
res = x_196;
|
||
|
}
|
||
|
{
|
||
|
int const x_197 = i;
|
||
|
i = (x_197 + 1);
|
||
|
}
|
||
|
}
|
||
|
float4 const x_199 = res;
|
||
|
return x_199;
|
||
|
}
|
||
|
|
||
|
void main_1(constant buf0& x_20, thread float4* const tint_symbol_10, thread float4* const tint_symbol_11) {
|
||
|
float2 lin = 0.0f;
|
||
|
float2 param_2 = 0.0f;
|
||
|
float4 const x_98 = *(tint_symbol_10);
|
||
|
float2 const x_101 = x_20.resolution;
|
||
|
lin = (float2(x_98.x, x_98.y) / x_101);
|
||
|
float2 const x_103 = lin;
|
||
|
lin = floor((x_103 * 32.0f));
|
||
|
float2 const x_106 = lin;
|
||
|
param_2 = x_106;
|
||
|
float4 const x_107 = match_vf2_(&(param_2), tint_symbol_10);
|
||
|
*(tint_symbol_11) = x_107;
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_20 [[buffer(0)]]) {
|
||
|
thread float4 tint_symbol_12 = 0.0f;
|
||
|
thread float4 tint_symbol_13 = 0.0f;
|
||
|
tint_symbol_12 = gl_FragCoord_param;
|
||
|
main_1(x_20, &(tint_symbol_12), &(tint_symbol_13));
|
||
|
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_13};
|
||
|
tint_symbol_2 const tint_symbol_8 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
|
||
|
return tint_symbol_8;
|
||
|
}
|
||
|
|