first git commit: scene, object, mesh, texture, shader, material etc
[demo] / src / shader.h
1 #ifndef SHADER_H_
2 #define SHADER_H_
3
4 enum SType {
5         SDR_VERTzX,
6         SDR_FRAGMENT
7 };
8
9 class Shader {
10 private:
11         SType type;
12
13 public:
14         Shader();
15         ~Shader();
16
17         virtual bool load(const char *fname, SType type) = 0;
18 };
19
20 class ShaderProgram {
21 private:
22         Shader *shaders[2];
23
24 public:
25         ShaderProgram();
26         virtual ~ShaderProgram() = 0;
27
28         void set_shader(Shader *sdr, SType type);
29 };
30
31 #endif // SHADER_H_