#version 450
#extension GL_ARB_separate_shader_objects : enable

layout(location = 0) in vec3 vPos;
layout(location = 1) in vec2 vUv;

layout(location = 0) out vec2 fUv;
layout(location = 1) out flat uint fChannels;

layout(binding = 0) uniform Transform
{
    mat4 proj;
    mat4 view;
    mat4 model;
    int channels;
} trans;

void main()
{
    gl_Position = trans.proj * trans.view * trans.model * vec4(vPos, 1.0);
	
	fUv = vUv;
    fChannels = trans.channels;
}