needs a lot of cleaning but lights are OK
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / blitcolour.h
1 #ifndef SHADER_blitcolour_H
2 #define SHADER_blitcolour_H
3 static void shader_blitcolour_link(void);
4 static void shader_blitcolour_register(void);
5 static struct vg_shader _shader_blitcolour = {
6 .name = "blitcolour",
7 .link = shader_blitcolour_link,
8 .vs =
9 {
10 .orig_file = "shaders/blit.vs",
11 .static_src =
12 "layout (location=0) in vec2 a_co;\n"
13 "out vec2 aUv;\n"
14 "\n"
15 "void main()\n"
16 "{\n"
17 " gl_Position = vec4(a_co*2.0-1.0,0.0,1.0);\n"
18 " aUv = a_co;\n"
19 "}\n"
20 ""},
21 .fs =
22 {
23 .orig_file = "shaders/colour.fs",
24 .static_src =
25 "out vec4 FragColor;\n"
26 "uniform vec4 uColour;\n"
27 "\n"
28 "in vec2 aUv;\n"
29 "\n"
30 "void main()\n"
31 "{\n"
32 " FragColor = uColour;\n"
33 "}\n"
34 ""},
35 };
36
37 static GLuint _uniform_blitcolour_uColour;
38 static void shader_blitcolour_uColour(v4f v){
39 glUniform4fv(_uniform_blitcolour_uColour,1,v);
40 }
41 static void shader_blitcolour_register(void){
42 vg_shader_register( &_shader_blitcolour );
43 }
44 static void shader_blitcolour_use(void){ glUseProgram(_shader_blitcolour.id); }
45 static void shader_blitcolour_link(void){
46 _uniform_blitcolour_uColour = glGetUniformLocation( _shader_blitcolour.id, "uColour" );
47 }
48 #endif /* SHADER_blitcolour_H */