#include #include using namespace metal; struct main0_out { float4 out_var_SV_Target0 [[color(0)]]; }; struct main0_in { float2 in_var_TEXCOORD0 [[user(locn0)]]; }; fragment main0_out main0(main0_in in [[stage_in]], texture2d ColorTexture [[texture(0)]], texture2d EmissiveTexture [[texture(1)]], sampler Sampler0 [[sampler(0)]], sampler Sampler1 [[sampler(1)]]) { main0_out out = {}; float2 _43 = in.in_var_TEXCOORD0; _43.y = (_43.y * (-1.0)) + 1.0; float4 _51 = ColorTexture.sample(Sampler0, _43); float3 _52 = _51.xyz; float3 _66; int _69; _66 = EmissiveTexture.sample(Sampler1, _43).xyz * 0.2270270287990570068359375; _69 = 0; float3 _67; for (; _69 < 5; _66 = _67, _69++) { _67 = _66; for (int _77 = 0; _77 < 5; ) { float2 _85 = float2(float(_69) - 2.5, float(_77)) * float2(0.001953125); _67 = (_67 + (EmissiveTexture.sample(Sampler1, (_43 + _85)).xyz * float3(0.039999999105930328369140625))) + (EmissiveTexture.sample(Sampler1, (_43 - _85)).xyz * float3(0.039999999105930328369140625)); _77++; continue; } } float3 _99 = (powr((_52 * (float3(1.0) + (_52 * float3(0.00999999977648258209228515625)))) / (float3(1.0) + _52), float3(0.4545454680919647216796875)) + (_66 * 0.0500000007450580596923828125)) * 1.0; out.out_var_SV_Target0 = float4((_99.x * (1.0 + (9.9999999747524270787835121154785e-07 * EmissiveTexture.sample(Sampler1, _43).x))) * (1.0 + (9.9999999747524270787835121154785e-07 * ColorTexture.sample(Sampler0, _43).x)), _99.yz, 1.0); return out; }