diff options
author | dec05eba <dec05eba@protonmail.com> | 2021-10-22 07:29:34 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-10-22 07:29:34 +0200 |
commit | a80bf6bb6cb8ab8c5a1430f9f9dbc214f71bdddf (patch) | |
tree | efcab64abdcfa211020bf4410e12d6182a1c8d90 /include/mglpp/graphics/Shader.hpp | |
parent | c9ee5e1c1feccb073863ba17cbfdcf094f235886 (diff) |
Use shader
Diffstat (limited to 'include/mglpp/graphics/Shader.hpp')
-rw-r--r-- | include/mglpp/graphics/Shader.hpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/mglpp/graphics/Shader.hpp b/include/mglpp/graphics/Shader.hpp new file mode 100644 index 0000000..4e94a7e --- /dev/null +++ b/include/mglpp/graphics/Shader.hpp @@ -0,0 +1,32 @@ +#ifndef MGLPP_SHADER_HPP +#define MGLPP_SHADER_HPP + +#include "../system/vec.hpp" + +extern "C" { +#include <mgl/graphics/shader.h> +} + +namespace mgl { + class Shader { + public: + enum Type { + Vertex, + Fragment, + Geometry + }; + + Shader(); + ~Shader(); + + bool load_from_file(const char *filepath, Type type); + bool set_uniform(const char *name, vec2f value); + + // If |shader| is nullptr then no shader is used + static void use(Shader *shader); + private: + mgl_shader_program shader_program; + }; +} + +#endif /* MGLPP_SHADER_HPP */ |