mirror of
https://github.com/doukutsu-rs/doukutsu-rs
synced 2024-09-27 20:48:54 +00:00
44 lines
1,011 B
Plaintext
44 lines
1,011 B
Plaintext
|
#version 150
|
||
|
|
||
|
uniform mat4 transform;
|
||
|
|
||
|
in vec3 left_top;
|
||
|
in vec2 right_bottom;
|
||
|
in vec2 tex_left_top;
|
||
|
in vec2 tex_right_bottom;
|
||
|
in vec4 color;
|
||
|
|
||
|
out vec2 f_tex_pos;
|
||
|
out vec4 f_color;
|
||
|
|
||
|
// generate positional data based on vertex ID
|
||
|
void main() {
|
||
|
vec2 pos = vec2(0.0);
|
||
|
float left = left_top.x;
|
||
|
float right = right_bottom.x;
|
||
|
float top = left_top.y;
|
||
|
float bottom = right_bottom.y;
|
||
|
|
||
|
switch (gl_VertexID) {
|
||
|
case 0:
|
||
|
pos = vec2(left, top);
|
||
|
f_tex_pos = tex_left_top;
|
||
|
break;
|
||
|
case 1:
|
||
|
pos = vec2(right, top);
|
||
|
f_tex_pos = vec2(tex_right_bottom.x, tex_left_top.y);
|
||
|
break;
|
||
|
case 2:
|
||
|
pos = vec2(left, bottom);
|
||
|
f_tex_pos = vec2(tex_left_top.x, tex_right_bottom.y);
|
||
|
break;
|
||
|
case 3:
|
||
|
pos = vec2(right, bottom);
|
||
|
f_tex_pos = tex_right_bottom;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
f_color = color;
|
||
|
gl_Position = transform * vec4(pos, left_top.z, 1.0);
|
||
|
}
|