update to new shader system
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / blit.h
1 #ifndef SHADER_blit_H
2 #define SHADER_blit_H
3 static void shader_blit_link(void);
4 static void shader_blit_register(void);
5 static struct vg_shader _shader_blit = {
6 .name = "blit",
7 .link = shader_blit_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/blit.fs",
24 .static_src =
25 "out vec4 FragColor;\n"
26 "uniform sampler2D uTexMain;\n"
27 "\n"
28 "in vec2 aUv;\n"
29 "\n"
30 "void main()\n"
31 "{\n"
32 " FragColor = texture( uTexMain, aUv );\n"
33 "}\n"
34 ""},
35 };
36
37 static GLuint _uniform_blit_uTexMain;
38 static void shader_blit_uTexMain(int i){
39 glUniform1i( _uniform_blit_uTexMain, i );
40 }
41 static void shader_blit_register(void){
42 vg_shader_register( &_shader_blit );
43 }
44 static void shader_blit_use(void){ glUseProgram(_shader_blit.id); }
45 static void shader_blit_link(void){
46 _uniform_blit_uTexMain = glGetUniformLocation( _shader_blit.id, "uTexMain" );
47 }
48 #endif /* SHADER_blit_H */