1#version 450
2#extension GL_ARB_separate_shader_objects : enable
3
4layout(binding = 1) uniform UniformBufferObject {
5    mat4 posTransform;
6    mat4 texcoordTransform;
7    uvec4 mode;
8    vec4 alpha;
9    vec4 color;
10} ubo;
11
12layout(location = 0) in vec2 inPosition;
13layout(location = 1) in vec2 texCoord;
14
15layout(location = 0) out vec2 fragTexCoord;
16
17void main() {
18    gl_Position = vec4((ubo.posTransform * vec4(inPosition, 0.0, 1.0)).xy, 0.0, 1.0);
19    fragTexCoord = (ubo.texcoordTransform * vec4(texCoord, 0.0, 1.0)).xy;
20}
21