shaders updated
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / routeui.h
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 = {
6 .name = "routeui",
7 .link = shader_routeui_link,
8 .vs =
9 {
10 .static_src =
11 "layout (location=0) in vec2 a_co;\n"
12 "\n"
13 "uniform vec4 uOffset;\n"
14 "\n"
15 "void main()\n"
16 "{\n"
17 " vec2 vpos = a_co * uOffset.zw + uOffset.xy;\n"
18 " gl_Position = vec4(vpos,0.0,1.0);\n"
19 "}\n"
20 ""},
21 .fs =
22 {
23 .static_src =
24 "out vec4 FragColor;\n"
25 "\n"
26 "uniform vec4 uColour;\n"
27 "\n"
28 "void main()\n"
29 "{\n"
30 " FragColor = uColour;\n"
31 "}\n"
32 ""},
33 };
34
35 static GLuint _uniform_routeui_uOffset;
36 static GLuint _uniform_routeui_uColour;
37 static void shader_routeui_uOffset(v4f v){
38 glUniform4fv(_uniform_routeui_uOffset,1,v);
39 }
40 static void shader_routeui_uColour(v4f v){
41 glUniform4fv(_uniform_routeui_uColour,1,v);
42 }
43 static void shader_routeui_register(void){
44 vg_shader_register( &_shader_routeui );
45 }
46 static void shader_routeui_use(void){ glUseProgram(_shader_routeui.id); }
47 static void shader_routeui_link(void){
48 _uniform_routeui_uOffset = glGetUniformLocation( _shader_routeui.id, "uOffset" );
49 _uniform_routeui_uColour = glGetUniformLocation( _shader_routeui.id, "uColour" );
50 }
51 #endif /* SHADER_routeui_H */