4 #include <vulkan/vulkan.h>
9 #include <gmath/gmath.h>
26 virtual bool create(char *buf, unsigned int bsz, const char *fname) = 0;
31 virtual ~Shader() = 0;
33 virtual bool load(const char *fname, SType type);
34 virtual void destroy() = 0;
35 virtual SType get_type();
46 virtual ~ShaderProgram();
48 virtual bool create() = 0;
49 virtual bool link() = 0;
50 virtual bool use() const = 0;
51 virtual void destroy() = 0;
52 virtual void attach_shader(Shader *shader) = 0;