// sniper zoom
#version 450


// Vk3DVision (http://3dsurroundgaming.com/) - Stereo Injection
layout(set = 0, binding = 30, std140) uniform Vk3DParams
{
    vec4 stereo;
    vec4 custom_params;
} vk3d_params;

layout(set = 0, binding = 0, std140) uniform freqHigh_vertexUniforms_ubo
{
    vec4 mvpmatrixx;
    vec4 mvpmatrixy;
    vec4 mvpmatrixz;
    vec4 mvpmatrixw;
    vec4 renderviewsize;
} freqHigh_vertexUniforms;

layout(set = 0, binding = 1, std140) uniform freqLow_vertexUniforms_ubo
{
    vec4 particlestscalebias;
} freqLow_vertexUniforms;

layout(location = 0) in vec4 in_Position;
layout(location = 1) in vec2 in_TexCoord;
layout(location = 2) out vec4 vofi_TexCoord0;
layout(location = 2) in vec4 in_Normal;
layout(location = 3) out vec4 vofi_TexCoord1;
layout(location = 4) out vec4 vofi_TexCoord2;
layout(location = 0) out vec4 vofi_Color;
layout(location = 3) in vec4 in_Color;

float dot4(vec4 a, vec4 b)
{
    return dot(a, b);
}

void main()
{
return;

    vec4 param = in_Position;
    vec4 param_1 = freqHigh_vertexUniforms.mvpmatrixx;
    gl_Position.x = dot4(param, param_1);
    vec4 param_2 = in_Position;
    vec4 param_3 = freqHigh_vertexUniforms.mvpmatrixy;
    gl_Position.y = dot4(param_2, param_3);
    vec4 param_4 = in_Position;
    vec4 param_5 = freqHigh_vertexUniforms.mvpmatrixz;
    gl_Position.z = dot4(param_4, param_5);
    vec4 param_6 = in_Position;
    vec4 param_7 = freqHigh_vertexUniforms.mvpmatrixw;
    gl_Position.w = dot4(param_6, param_7);
    vec2 uv = (in_TexCoord * vec2(freqLow_vertexUniforms.particlestscalebias.x)) + vec2(freqLow_vertexUniforms.particlestscalebias.y);
    vec2 resolution = freqHigh_vertexUniforms.renderviewsize.xy;
    float aspectRatio = resolution.y / resolution.x;
    vofi_TexCoord0 = vec4(uv.x, uv.y, vofi_TexCoord0.z, vofi_TexCoord0.w);
    vec2 screenUV = (((uv - vec2(0.5)) * vec2(aspectRatio, 1.0)) * vec2(1.35000002384185791015625 / (in_Normal.x + 1.0))) + vec2(0.5);
    screenUV.x = 1.0 - screenUV.x;
    vofi_TexCoord0 = vec4(vofi_TexCoord0.x, vofi_TexCoord0.y, screenUV.x, screenUV.y);
    vec2 _135 = ((screenUV - vec2(0.5)) * vec2(0.9900000095367431640625)) + vec2(0.5);
    vofi_TexCoord1 = vec4(_135.x, _135.y, vofi_TexCoord1.z, vofi_TexCoord1.w);
    vec2 _143 = ((screenUV - vec2(0.5)) * vec2(0.980000019073486328125)) + vec2(0.5);
    vofi_TexCoord1 = vec4(vofi_TexCoord1.x, vofi_TexCoord1.y, _143.x, _143.y);
    vec2 _156 = uv * vec2(8.0 * ((in_Normal.y * 10.0) + 1.0));
    vofi_TexCoord2 = vec4(_156.x, _156.y, vofi_TexCoord2.z, vofi_TexCoord2.w);
    vofi_TexCoord2.z = (in_Normal.z * 10.0) + 1.0;
    vofi_TexCoord2.w = 0.0;
    vofi_Color = in_Color;
    gl_Position.y = -gl_Position.y;

// Vk3DVision (http://3dsurroundgaming.com/) - Stereo Injection
//gl_Position.x += vk3d_params.stereo.x * (gl_Position.w - vk3d_params.stereo.y); 
}


