summary refs log tree commit diff
path: root/src/GFX/Shading/Shader.hpp
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-10-23 21:28:09 +0200
committerMel <einebeere@gmail.com>2022-10-23 21:28:09 +0200
commitad84d0686f1d7f72e86b55cdadd8272f225f776d (patch)
tree4d3cb6fbc48f41126407d10eac3d835c1b2d0a91 /src/GFX/Shading/Shader.hpp
parent75a9c87b50cef2f1d749bd9042a9348bc28b4c09 (diff)
downloadmeowcraft-ad84d0686f1d7f72e86b55cdadd8272f225f776d.tar.zst
meowcraft-ad84d0686f1d7f72e86b55cdadd8272f225f776d.zip
Modular mesh vertex attributes
Diffstat (limited to 'src/GFX/Shading/Shader.hpp')
-rw-r--r--src/GFX/Shading/Shader.hpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/GFX/Shading/Shader.hpp b/src/GFX/Shading/Shader.hpp
index 4a3d9cf..15450cb 100644
--- a/src/GFX/Shading/Shader.hpp
+++ b/src/GFX/Shading/Shader.hpp
@@ -8,21 +8,26 @@ namespace MC::GFX::Shading {
 class Shader {
 
 public:
+    enum class Type {
+        Vertex,
+        Fragment,
+    };
+
+    Shader(Type type, const char* source);
+
     uint32_t get() const {
         return m_shader;
     }
 
     static Shader create_vertex() {
-        return {GL_VERTEX_SHADER, Assets::Shaders::vertex};
+        return {Type::Vertex, Assets::Shaders::vertex};
     }
 
     static Shader create_fragment() {
-        return {GL_FRAGMENT_SHADER, Assets::Shaders::fragment};
+        return {Type::Fragment, Assets::Shaders::fragment};
     }
 
 private:
-    Shader(uint32_t type, const char* source);
-
     uint32_t m_shader;
 };