44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
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<float> ColorTexture [[texture(0)]], texture2d<float> 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;
|
|
}
|
|
|