blob: a2c7de30d8fbeaba45a579c9c1a8f41b0304a709 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#version 450
// vertex
layout(location = 0) in vec2 in_position;
layout(location = 1) in vec2 in_uv;
layout(location = 2) in vec2 in_atlas_size;
// instance
layout(location = 3) in mat4 pos_scale;
layout(location = 7) in vec4 in_fg_color;
layout(location = 8) in vec4 in_bg_color;
layout(location = 9) in vec2 in_sprite_region_min;
layout(location = 10) in vec2 in_sprite_region_max;
layout(location = 11) in float in_width;
layout(location = 0) out vec4 out_fg_color;
layout(location = 1) out vec4 out_bg_color;
layout(location = 2) out vec2 out_uv;
layout(location = 3) out float out_width;
out gl_PerVertex
{
vec4 gl_Position;
};
void main()
{
vec4 transformed_position = pos_scale * vec4(in_position, 0.0, 1.0);
gl_Position = vec4(transformed_position.xy, 0.0, 1.0);
out_fg_color = in_fg_color;
out_bg_color = in_bg_color;
out_uv = mix(in_sprite_region_min, in_sprite_region_max, in_uv) / in_atlas_size;
out_width = in_width;
}
|