4 #include <vulkan/vulkan.h>
9 #include <gmath/gmath.h>
24 virtual bool create(char *buf, unsigned int bsz, const char *fname) = 0;
28 virtual ~Shader() = 0;
30 virtual bool load(const char *fname, ShaderType type);
31 virtual void destroy() = 0;
32 virtual ShaderType get_type();
43 virtual ~ShaderProgram();
45 virtual bool create() = 0;
46 virtual bool link() = 0;
47 virtual bool use() const = 0;
48 virtual void destroy() = 0;
49 virtual void attach_shader(Shader *shader) = 0;