Files
somaesque-native/assets/shaders/2d-solid.vertex.glsl
Daniel Ledda a89ef8ddde update
2025-02-16 23:43:10 +01:00

30 lines
596 B
GLSL

#version 330 core
layout (location = 0) in vec2 p0;
layout (location = 1) in vec2 p1;
layout (location = 2) in vec4 color;
uniform mat4 projection;
out vec4 fragment_color;
const vec2 rectangle_vertices[4] = vec2[](
vec2(-1, -1),
vec2(-1, 1),
vec2( 1, -1),
vec2( 1, 1)
);
void main() {
vec2 dest_half_size = (p1 - p0) / 2;
vec2 dest_center = (p1 + p0) / 2;
vec2 dest_position = rectangle_vertices[gl_VertexID] * dest_half_size + dest_center;
gl_Position = projection * vec4(
dest_position,
0,
1
);
fragment_color = color;
}