#include using namespace metal; struct PointLight { /* 0x0000 */ packed_float4 position; }; struct PointLights { /* 0x0000 */ PointLight values[1]; }; struct Uniforms { /* 0x0000 */ float4x4 worldView; /* 0x0040 */ float4x4 proj; /* 0x0080 */ uint numPointLights; /* 0x0084 */ uint color_source; /* 0x0088 */ int8_t tint_pad[8]; /* 0x0090 */ packed_float4 color; }; struct FragmentInput { float4 position; float4 view_position; float4 normal; float2 uv; float4 color; }; struct FragmentOutput { float4 color; }; struct tint_symbol_4 { float4 view_position [[user(locn0)]]; float4 normal [[user(locn1)]]; float2 uv [[user(locn2)]]; float4 color [[user(locn3)]]; }; struct tint_symbol_5 { float4 color [[color(0)]]; }; float4 getColor(constant Uniforms& uniforms, FragmentInput tint_symbol, texture2d tint_symbol_7, sampler tint_symbol_8) { float4 color = 0.0f; if ((uniforms.color_source == 0u)) { color = tint_symbol.color; } else { if ((uniforms.color_source == 1u)) { color = tint_symbol.normal; color.a = 1.0f; } else { if ((uniforms.color_source == 2u)) { color = uniforms.color; } else { if ((uniforms.color_source == 3u)) { color = tint_symbol_7.sample(tint_symbol_8, tint_symbol.uv); } } } } return color; } fragment tint_symbol_5 tint_symbol_1(sampler tint_symbol_9 [[sampler(2)]], texture2d tint_symbol_10 [[texture(3)]], float4 tint_symbol_3 [[position]], tint_symbol_4 tint_symbol_2 [[stage_in]], constant Uniforms& uniforms [[buffer(0)]], const device PointLights& pointLights [[buffer(1)]]) { FragmentInput const tint_symbol = {.position=tint_symbol_3, .view_position=tint_symbol_2.view_position, .normal=tint_symbol_2.normal, .uv=tint_symbol_2.uv, .color=tint_symbol_2.color}; FragmentOutput output = {}; output.color = float4(1.0f, 0.0f, 0.0f, 1.0f); (void) uniforms; (void) tint_symbol_9; (void) tint_symbol_10; (void) pointLights; tint_symbol_5 const tint_symbol_6 = {.color=output.color}; return tint_symbol_6; }