]> git.lizzy.rs Git - dragonblocks3d.git/blobdiff - src/shader_program.hpp
New structure
[dragonblocks3d.git] / src / shader_program.hpp
diff --git a/src/shader_program.hpp b/src/shader_program.hpp
new file mode 100644 (file)
index 0000000..0496c19
--- /dev/null
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <map>
+#include <string>
+#include "gl.hpp"
+
+namespace dragonblocks
+{
+       class ShaderProgram
+       {
+               public:
+               static std::map<std::string, GLenum> shadertypes;
+               
+               void use() const;
+               void set(const std::string &, bool);
+               void set(const std::string &, int);
+               void set(const std::string &, float);
+               void set(const std::string &, glm::mat4);
+               void set(const std::string &, glm::vec3);
+               
+               ShaderProgram(const std::string &);
+               ~ShaderProgram();
+               
+               private:
+               GLuint id;
+       };
+}