mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
geometry shaders, map poi icons
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
layout(location = 0) in vec3 v_vert;
|
||||
layout(location = 2) in vec2 v_coords;
|
||||
|
||||
out vec2 g_coords;
|
||||
|
||||
#include <common>
|
||||
|
||||
@@ -7,4 +10,5 @@ void main()
|
||||
vec4 clip_pos = projection * vec4(v_vert, 1.0f);
|
||||
|
||||
gl_Position = vec4(clip_pos.xz, 0.5, 1.0);
|
||||
g_coords = v_coords;
|
||||
}
|
||||
|
||||
14
shaders/map_poi.frag
Normal file
14
shaders/map_poi.frag
Normal file
@@ -0,0 +1,14 @@
|
||||
in vec2 f_coords;
|
||||
|
||||
layout(location = 0) out vec4 out_color;
|
||||
|
||||
#texture (tex1, 0, sRGB_A)
|
||||
uniform sampler2D tex1;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 texcoord = f_coords;
|
||||
vec4 color = texture(tex1, texcoord);
|
||||
|
||||
out_color = color;
|
||||
}
|
||||
30
shaders/map_poi.geom
Normal file
30
shaders/map_poi.geom
Normal file
@@ -0,0 +1,30 @@
|
||||
layout (points) in;
|
||||
layout (triangle_strip, max_vertices = 4) out;
|
||||
|
||||
in vec2 g_coords[];
|
||||
out vec2 f_coords;
|
||||
|
||||
#include <common>
|
||||
|
||||
void main() {
|
||||
vec4 position = gl_in[0].gl_Position;
|
||||
vec2 size = vec2(0.1) * scene_extra.xy;
|
||||
|
||||
gl_Position = position + vec4(-size.x, -size.y, 0.0, 0.0);
|
||||
f_coords = vec2(g_coords[0].s, 0.0);
|
||||
EmitVertex();
|
||||
|
||||
gl_Position = position + vec4( size.x, -size.y, 0.0, 0.0);
|
||||
f_coords = vec2(g_coords[0].t, 0.0);
|
||||
EmitVertex();
|
||||
|
||||
gl_Position = position + vec4(-size.x, size.y, 0.0, 0.0);
|
||||
f_coords = vec2(g_coords[0].s, 1.0);
|
||||
EmitVertex();
|
||||
|
||||
gl_Position = position + vec4( size.x, size.y, 0.0, 0.0);
|
||||
f_coords = vec2(g_coords[0].t, 1.0);
|
||||
EmitVertex();
|
||||
|
||||
EndPrimitive();
|
||||
}
|
||||
Reference in New Issue
Block a user