]> git.vomp.tv Git - vompclient.git/blob - glshader.h
Preparations for dynamic mode switching
[vompclient.git] / glshader.h
1 /*\r
2     Copyright 2012 Marten Richter\r
3 \r
4     This file is part of VOMP.\r
5 \r
6     VOMP is free software; you can redistribute it and/or modify\r
7     it under the terms of the GNU General Public License as published by\r
8     the Free Software Foundation; either version 2 of the License, or\r
9     (at your option) any later version.\r
10 \r
11     VOMP is distributed in the hope that it will be useful,\r
12     but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14     GNU General Public License for more details.\r
15 \r
16     You should have received a copy of the GNU General Public License\r
17     along with VOMP; if not, write to the Free Software\r
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
19 */\r
20 \r
21 #ifndef GL_SHADER_H\r
22 #define GL_SHADER_H\r
23 \r
24 #include <GLES2/gl2.h>\r
25 #include "log.h"\r
26 \r
27 class GLShader {\r
28 public:\r
29         GLShader(const char* name);\r
30         virtual ~GLShader();\r
31 \r
32         int initShaders(const GLchar  * vertex_shad,const GLchar  *fragment_shad);\r
33 \r
34         int deinitShaders();\r
35 \r
36 \r
37 \r
38 protected:\r
39 \r
40         GLuint CreateShader(const GLchar * source, GLenum type);\r
41 \r
42         virtual int BindAttributes() {return 1;};\r
43 \r
44         GLuint vertex_shader;\r
45         GLuint frag_shader;\r
46 \r
47         GLuint shad_program;\r
48         int initted;\r
49         const char* objname;\r
50 \r
51 };\r
52 \r
53 \r
54 \r
55 #endif\r