X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Fshader.h;h=86cfed2e1344db6ec7eba18b9ea2430bc53cce24;hp=53f8654453d20bc3624a10b8215e18b71d99afe0;hb=fcd6773bc770425ede4b47a84eef7cc78342542c;hpb=4bc86b416f29b4889075ad5c8dfdb1e11454a6c3 diff --git a/src/shader.h b/src/shader.h index 53f8654..86cfed2 100644 --- a/src/shader.h +++ b/src/shader.h @@ -49,11 +49,9 @@ public: ShaderProgram(); virtual ~ShaderProgram(); - virtual void cache_uniforms() = 0; - virtual bool create() = 0; virtual bool link() = 0; - virtual bool use() = 0; + virtual bool use() const = 0; virtual void destroy() = 0; virtual void attach_shader(Shader *shader) = 0; @@ -62,6 +60,7 @@ public: using descriptor sets. The current design is suitable for OpenGL and it *might* have to be rewritten to work with both APIs later */ + virtual int get_uniform_location(const char *name) const = 0; virtual void set_uniformi(int location, int value) = 0; virtual void set_uniformi(int location, int x, int y) = 0; @@ -76,6 +75,4 @@ public: virtual void set_uniform_matrix(int location, const Mat4 &mat) = 0; }; -ShaderProgram *get_current_program(); - #endif // SHADER_H_