21 lines
500 B
Plaintext
21 lines
500 B
Plaintext
|
layout (location = 0) in float i_ground_id;
|
||
|
layout (location = 1) in vec2 i_pos;
|
||
|
layout (location = 2) in vec2 i_size;
|
||
|
|
||
|
out float v_ground_id;
|
||
|
out vec2 v_size;
|
||
|
out vec2 v_uv;
|
||
|
|
||
|
const vec2[] square_ = vec2[](
|
||
|
vec2(-1., 1.), vec2(-1., -1.), vec2( 1., -1.),
|
||
|
vec2(-1., 1.), vec2( 1., -1.), vec2( 1., 1.)
|
||
|
);
|
||
|
|
||
|
void main(void) {
|
||
|
v_ground_id = i_ground_id;
|
||
|
v_size = i_size;
|
||
|
v_uv = square_[gl_VertexID];
|
||
|
gl_Position = uni.proj * uni.cam * vec4(v_uv*i_size+i_pos, 0., 1.);
|
||
|
}
|
||
|
|