class ShaderGL : public Shader {
protected:
/* bsz for vulkan, in opengl buf is 0 terminated */
- unsigned int sdr;
virtual bool create(char *buf, unsigned int bsz, const char *fname);
public:
+ unsigned int sdr;
+
ShaderGL();
virtual ~ShaderGL();
- virtual void destroy();
- virtual void attach(unsigned int prog);
+ virtual void destroy() override;
};
class ShaderProgramGL : public ShaderProgram {
protected:
unsigned int prog;
+ bool is_linked;
public:
ShaderProgramGL();
virtual ~ShaderProgramGL();
- void destroy();
- void delete_shaders();
- virtual bool link();
- virtual bool load(const char *vfname, const char *ffname);
+ virtual bool link() override;
+ virtual bool use() const override;
+ virtual bool create() override;
+ virtual void destroy() override;
+ virtual void attach_shader(Shader *shader) override;
};
-#endif // SHADER_GL_H_
\ No newline at end of file
+#endif // SHADER_GL_H_