vulkan[8] vulkan-39976347b638ad78345682b996ce5767
// VULKAN[8] source bytes (9408) ref=39976347b638ad78345682b996ce5767
// Spirv source (9084), reflection performed with SPIRV-Cross, KhronosGroup

#version 450

layout(binding = 1, std140) uniform _1165_22044
{
    layout(offset = 304) vec3 _m0;
    layout(offset = 448) vec3 _m1;
    layout(offset = 460) float _m2;
    layout(offset = 464) float _m3;
    layout(offset = 468) float _m4;
    layout(offset = 472) float _m5;
} _22044;

layout(binding = 0, std140) uniform _2199_18812
{
    layout(offset = 0) vec3 _m0;
    layout(offset = 16) vec3 _m1;
    layout(offset = 28) float _m2;
    layout(offset = 32) vec3 _m3;
    layout(offset = 44) float _m4;
    layout(offset = 48) vec3 _m5;
    layout(offset = 60) float _m6;
    layout(offset = 64) vec3 _m7;
    layout(offset = 76) float _m8;
    layout(offset = 80) vec3 _m9;
    layout(offset = 92) float _m10;
    layout(offset = 96) vec3 _m11;
    layout(offset = 272) vec3 _m12;
} _18812;

layout(binding = 0, std140) uniform _1264_4930
{
    layout(offset = 16) vec3 _m0;
    layout(offset = 32) vec3 _m1;
    layout(offset = 48) vec3 _m2;
    layout(offset = 64) vec3 _m3;
    layout(offset = 240) float _m4;
    layout(offset = 244) float _m5;
} _4930;

uniform sampler2D _25261;
uniform sampler2D _25263;
uniform sampler2D _25265;
uniform sampler2D _25267;
uniform sampler2D _25269;
uniform sampler2D _25271;
uniform sampler2D _25273;
uniform sampler2D _25275;

layout(location = 0) in vec4 _4171;
layout(location = 1) in vec4 _4439;
layout(location = 2) in vec4 _3942;
layout(location = 3) in vec4 _5081;
layout(location = 4) in vec4 _3271;
layout(location = 5) in vec4 _5145;
layout(location = 6) in vec4 _3880;
layout(location = 0) out vec4 _3182;
layout(location = 1) out vec4 _3188;

vec4 _10264;
vec4 _11812;

void main()
{
    vec3 _20923 = normalize(_4439.xyz);
    vec4 _20573 = texture(_25263, _5145.zw);
    vec4 _20574 = texture(_25265, _3880.xy);
    vec4 _19405 = texture(_25267, _3880.zw);
    vec3 _17558 = texture(_25261, _5145.xy).xyz * _4930._m0;
    vec4 _21753 = _10264;
    _21753.x = _17558.x;
    vec4 _16135 = _21753;
    _16135.y = _17558.y;
    vec4 _18504 = _16135;
    _18504.z = _17558.z;
    vec3 _17559 = _20573.xyz * _4930._m1;
    vec4 _21754 = _20573;
    _21754.x = _17559.x;
    vec4 _16136 = _21754;
    _16136.y = _17559.y;
    vec4 _18505 = _16136;
    _18505.z = _17559.z;
    vec3 _17560 = _20574.xyz * _4930._m2;
    vec4 _21755 = _20574;
    _21755.x = _17560.x;
    vec4 _16137 = _21755;
    _16137.y = _17560.y;
    vec4 _18506 = _16137;
    _18506.z = _17560.z;
    vec3 _17561 = _19405.xyz * _4930._m3;
    vec4 _21756 = _19405;
    _21756.x = _17561.x;
    vec4 _16138 = _21756;
    _16138.y = _17561.y;
    vec4 _16116 = _16138;
    _16116.z = _17561.z;
    float _20025 = _20573.w;
    float _7380 = smoothstep(max(0.0, _20025 - _3271.x), min(1.0, _20025 + _3271.x), _5081.x);
    float _16584 = 1.0 - _7380;
    float _21190 = _20574.w;
    float _20617 = clamp(smoothstep(max(0.0, _21190 - _3271.y), min(1.0, _21190 + _3271.y), _5081.y), 0.0, _16584);
    float _15457 = _16584 - _20617;
    float _12534 = _19405.w;
    float _20579 = clamp(smoothstep(max(0.0, _12534 - _3271.z), min(1.0, _12534 + _3271.z), _5081.z), 0.0, _15457);
    float _16962 = _15457 - _20579;
    vec3 _24904 = _18504.xyz * _16962;
    vec4 _6712 = _10264;
    _6712.x = _24904.x;
    vec4 _16139 = _6712;
    _16139.y = _24904.y;
    vec4 _17621 = _16139;
    _17621.z = _24904.z;
    vec3 _22630 = _17621.xyz + (_18505.xyz * _7380);
    vec4 _24984 = _10264;
    _24984.x = _22630.x;
    vec4 _16140 = _24984;
    _16140.y = _22630.y;
    vec4 _17622 = _16140;
    _17622.z = _22630.z;
    vec3 _22631 = _17622.xyz + (_18506.xyz * _20617);
    vec4 _24985 = _10264;
    _24985.x = _22631.x;
    vec4 _16141 = _24985;
    _16141.y = _22631.y;
    vec4 _17623 = _16141;
    _17623.z = _22631.z;
    vec3 _22632 = _17623.xyz + (_16116.xyz * _20579);
    vec4 _24986 = _10264;
    _24986.x = _22632.x;
    vec4 _16142 = _24986;
    _16142.y = _22632.y;
    vec4 _16424 = _16142;
    _16424.z = _22632.z;
    vec3 _19161 = _16424.xyz * _3942.xyz;
    vec4 _21757 = _10264;
    _21757.x = _19161.x;
    vec4 _16143 = _21757;
    _16143.y = _19161.y;
    vec4 _19671 = _16143;
    _19671.z = _19161.z;
    vec3 _22113 = (((texture(_25269, _5145.xy).xyz * _16962) + (texture(_25271, _5145.zw).xyz * _7380)) + (texture(_25273, _3880.xy).xyz * _20617)) + (texture(_25275, _3880.zw).xyz * _20579);
    vec4 _12006 = _11812;
    _12006.w = 1.0;
    vec3 _11411 = _18812._m5 * (pow(clamp(dot(_18812._m3, reflect(-normalize(_4171.xyz - _22044._m0), _20923)), 0.0, 1.0), _18812._m4) * (_22113.x * _4930._m4));
    float _8983 = clamp(_18812._m6, 0.0, 1.0);
    vec3 _22633 = _19671.xyz + (_11411 * (1.0 - _8983));
    vec4 _24987 = _10264;
    _24987.x = _22633.x;
    vec4 _16144 = _24987;
    _16144.y = _22633.y;
    vec4 _18507 = _16144;
    _18507.z = _22633.z;
    float _19274 = clamp(dot(-_18812._m0, _20923), 0.0, 1.0);
    vec3 _11412 = _18812._m9 * _18812._m8;
    vec3 _17776 = mix(_18812._m12, _18812._m11, vec3((_20923.z * 0.5) + 0.5)) * _18812._m10;
    vec3 _13569 = vec3(_22113.z * _4930._m5);
    vec3 _19162 = _18507.xyz * vec4(((_18812._m1 * _19274) + (mix(_11412, vec3(dot(_11412, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _13569) * clamp(dot(_18812._m7, _20923), 0.0, 1.0))) + (mix(_17776, vec3(dot(_17776, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))), _13569) * (1.0 - _19274)), 1.0).xyz;
    vec4 _21758 = _12006;
    _21758.x = _19162.x;
    vec4 _16145 = _21758;
    _16145.y = _19162.y;
    vec4 _18508 = _16145;
    _18508.z = _19162.z;
    vec3 _22634 = _18508.xyz + (((_11411 * _18812._m2) * _8983) * 1.0);
    vec4 _24988 = _18508;
    _24988.x = _22634.x;
    vec4 _16146 = _24988;
    _16146.y = _22634.y;
    vec4 _15218 = _16146;
    _15218.z = _22634.z;
    vec3 _17839 = mix(_15218.xyz, _22044._m1, vec3(clamp(min(_22044._m4, pow(clamp((distance(_4171.xyz, _22044._m0) * _22044._m3) + _22044._m2, 0.0, 1.0), _22044._m5)), 0.0, 1.0)));
    vec4 _15881 = _15218;
    _15881.x = _17839.x;
    vec4 _16147 = _15881;
    _16147.y = _17839.y;
    vec4 _19042 = _16147;
    _19042.z = _17839.z;
    _3182 = _19042;
    _3188 = _4171.wwww;
}

// Source metadata (unknown encoding) (324)
[9084]
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00 00 00 00 00 
00 00 0F 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 08 00 00 00 00 00 01 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 
F1 06 A0 D8