update to new shader system
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / terrain.h
1 #ifndef SHADER_terrain_H
2 #define SHADER_terrain_H
3 static void shader_terrain_link(void);
4 static void shader_terrain_register(void);
5 static struct vg_shader _shader_terrain = {
6 .name = "terrain",
7 .link = shader_terrain_link,
8 .vs =
9 {
10 .orig_file = "../shaders/terrain.vs",
11 .static_src =
12 "uniform mat4x3 uMdl;\n"
13 "\n"
14 "void main()\n"
15 "{\n"
16 "\n"
17 "}\n"
18 ""},
19 .fs =
20 {
21 .orig_file = "../shaders/terrain.fs",
22 .static_src =
23 "// Nothing\n"
24 "\n"
25 "#line 2 0 \n"
26 "\n"
27 "void main()\n"
28 "{\n"
29 "\n"
30 "}\n"
31 ""},
32 };
33
34 static GLuint _uniform_terrain_uMdl;
35 static void shader_terrain_uMdl(m4x3f m){
36 glUniformMatrix4x3fv( _uniform_terrain_uMdl, 1, GL_FALSE, (float *)m );
37 }
38 static void shader_terrain_register(void){
39 vg_shader_register( &_shader_terrain );
40 }
41 static void shader_terrain_use(void){ glUseProgram(_shader_terrain.id); }
42 static void shader_terrain_link(void){
43 _uniform_terrain_uMdl = glGetUniformLocation( _shader_terrain.id, "uMdl" );
44 }
45 #endif /* SHADER_terrain_H */