1 #ifndef SHADER_routeui_H
2 #define SHADER_routeui_H
3 static void shader_routeui_link(void);
4 static void shader_routeui_register(void);
5 static struct vg_shader _shader_routeui
= {
7 .link
= shader_routeui_link
,
10 .orig_file
= "../../shaders/routeui.vs",
12 "layout (location=0) in vec2 a_co;\n"
14 "uniform vec4 uOffset;\n"
18 " float fbarx = (a_co.x+uOffset.x) * uOffset.z;\n"
19 " float fbary = a_co.y*uOffset.w + uOffset.y;\n"
21 " vec2 vpos = vec2( fbarx, fbary );\n"
22 " gl_Position = vec4(vpos,0.0,1.0);\n"
27 .orig_file
= "../../shaders/routeui.fs",
29 "out vec4 FragColor;\n"
31 "uniform vec4 uColour;\n"
35 " FragColor = uColour;\n"
40 static GLuint _uniform_routeui_uOffset
;
41 static GLuint _uniform_routeui_uColour
;
42 static void shader_routeui_uOffset(v4f v
){
43 glUniform4fv( _uniform_routeui_uOffset
, 1, v
);
45 static void shader_routeui_uColour(v4f v
){
46 glUniform4fv( _uniform_routeui_uColour
, 1, v
);
48 static void shader_routeui_register(void){
49 vg_shader_register( &_shader_routeui
);
51 static void shader_routeui_use(void){ glUseProgram(_shader_routeui
.id
); }
52 static void shader_routeui_link(void){
53 _uniform_routeui_uOffset
= glGetUniformLocation( _shader_routeui
.id
, "uOffset" );
54 _uniform_routeui_uColour
= glGetUniformLocation( _shader_routeui
.id
, "uColour" );
56 #endif /* SHADER_routeui_H */