a147c5dc997997fec5a0887c4938ba5eb65bb906
[demo] / src / opengl / shader-gl.h
1 #ifndef SHADER_GL_H_
2 #define SHADER_GL_H_
3
4 #include "shader.h"
5
6 class ShaderGL : public Shader {
7 protected:
8         /* bsz for vulkan, in opengl buf is 0 terminated */
9         unsigned int sdr;
10         virtual bool create(char *buf, unsigned int bsz, const char *fname);
11
12 public:
13         ShaderGL();
14         virtual ~ShaderGL();
15
16         virtual void destroy();
17         virtual void attach(unsigned int prog);
18 };
19
20 class ShaderProgramGL : public ShaderProgram {
21 protected:
22         unsigned int prog;
23
24 public:
25         ShaderProgramGL();
26         virtual ~ShaderProgramGL();
27
28         void destroy();
29         void delete_shaders();
30         virtual bool link();
31         virtual bool load(const char *vfname, const char *ffname);
32 };
33
34 #endif // SHADER_GL_H_