Changed the OpenGL part and the GLSL shaders to use UBO and
[demo] / src / opengl / shader-gl.h
index e5e6390..4ee4a57 100644 (file)
@@ -6,30 +6,31 @@
 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() override;
-       virtual void attach(unsigned int prog) override;
 };
 
 class ShaderProgramGL : public ShaderProgram {
 protected:
        unsigned int prog;
+       bool is_linked;
 
 public:
        ShaderProgramGL();
        virtual ~ShaderProgramGL();
 
-       void destroy();
-       void delete_shaders();
        virtual bool link() override;
-       virtual bool load(const char *vfname, const char *ffname) override;
-       virtual void use() 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_