#include using namespace metal; struct xlatMtlShaderInput { float4 varUV; }; struct xlatMtlShaderOutput { half4 _fragData [[color(0)]]; }; struct xlatMtlShaderUniform { }; fragment xlatMtlShaderOutput xlatMtlMain (xlatMtlShaderInput _mtl_i [[stage_in]], constant xlatMtlShaderUniform& _mtl_u [[buffer(0)]] , texture2d texlow [[texture(0)]], sampler _mtlsmp_texlow [[sampler(0)]] , texture2d texmed [[texture(1)]], sampler _mtlsmp_texmed [[sampler(1)]] , texture2d texhigh [[texture(2)]], sampler _mtlsmp_texhigh [[sampler(2)]] , texturecube cubelow [[texture(3)]], sampler _mtlsmp_cubelow [[sampler(3)]] , texturecube cubemed [[texture(4)]], sampler _mtlsmp_cubemed [[sampler(4)]] , texturecube cubehigh [[texture(5)]], sampler _mtlsmp_cubehigh [[sampler(5)]]) { xlatMtlShaderOutput _mtl_o; half4 c_1; half4 tmpvar_2; tmpvar_2 = texlow.sample(_mtlsmp_texlow, (float2)(_mtl_i.varUV.xy)); c_1 = tmpvar_2; c_1 = (c_1 + texmed.sample(_mtlsmp_texmed, (float2)(_mtl_i.varUV.xy))); float4 tmpvar_3; tmpvar_3 = texhigh.sample(_mtlsmp_texhigh, (float2)(_mtl_i.varUV.xy)); c_1 = half4(((float4)c_1 + tmpvar_3)); half4 tmpvar_4; tmpvar_4 = cubelow.sample(_mtlsmp_cubelow, (float3)(_mtl_i.varUV.xyz)); c_1 = (c_1 + tmpvar_4); c_1 = (c_1 + cubemed.sample(_mtlsmp_cubemed, (float3)(_mtl_i.varUV.xyz))); float4 tmpvar_5; tmpvar_5 = cubehigh.sample(_mtlsmp_cubehigh, (float3)(_mtl_i.varUV.xyz)); c_1 = half4(((float4)c_1 + tmpvar_5)); _mtl_o._fragData = c_1; return _mtl_o; } // stats: 5 alu 6 tex 0 flow // inputs: 1 // #0: varUV (high float) 4x1 [-1] // textures: 6 // #0: texlow (low 2d) 0x0 [-1] loc 0 // #1: texmed (medium 2d) 0x0 [-1] loc 1 // #2: texhigh (high 2d) 0x0 [-1] loc 2 // #3: cubelow (low cube) 0x0 [-1] loc 3 // #4: cubemed (medium cube) 0x0 [-1] loc 4 // #5: cubehigh (high cube) 0x0 [-1] loc 5