#version 440

layout(location = 0) in vec2 v_texcoord;

layout(location = 0) out vec4 fragColor;

layout(std140, binding = 0) uniform buf {
    mat4 mvp;
    int flip;
    int idx;
} ubuf;

layout(binding = 1) uniform sampler3D tex;

void main()
{
    float w = 0.0;
    if (ubuf.idx == 1)
        w = 0.5;
    else if (ubuf.idx == 2)
        w = 1.0;
    vec4 c = texture(tex, vec3(v_texcoord, w));
    fragColor = vec4(c.rgb * c.a, c.a);
}