diff options
| author | Mel <einebeere@gmail.com> | 2022-10-21 01:03:18 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-10-21 01:03:18 +0200 |
| commit | 6ed978051668c08f5a957c97570f364dd580c807 (patch) | |
| tree | e3db93c52fcd86e26bc859d46e755290d2a7f40c /src/Shader | |
| parent | 0464a83dfaebaa75d6e2d3b7431e84ebd83fccfd (diff) | |
| download | meowcraft-6ed978051668c08f5a957c97570f364dd580c807.tar.zst meowcraft-6ed978051668c08f5a957c97570f364dd580c807.zip | |
Namespace and Folder refactor
Diffstat (limited to 'src/Shader')
| -rw-r--r-- | src/Shader/Shader.cpp | 24 | ||||
| -rw-r--r-- | src/Shader/Shader.hpp | 29 | ||||
| -rw-r--r-- | src/Shader/ShaderProgram.cpp | 42 | ||||
| -rw-r--r-- | src/Shader/ShaderProgram.hpp | 25 | ||||
| -rw-r--r-- | src/Shader/Uniform.cpp | 14 | ||||
| -rw-r--r-- | src/Shader/Uniform.hpp | 23 |
6 files changed, 0 insertions, 157 deletions
diff --git a/src/Shader/Shader.cpp b/src/Shader/Shader.cpp deleted file mode 100644 index 0cd6ab3..0000000 --- a/src/Shader/Shader.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <GL/glew.h> -#include <stdexcept> -#include "Shader.hpp" - -namespace MC { - -Shader::Shader(uint32_t type, const char* source) { - m_shader = glCreateShader(type); - - glShaderSource(m_shader, 1, &source, nullptr); - glCompileShader(m_shader); - - GLint success; - glGetShaderiv(m_shader, GL_COMPILE_STATUS, &success); - if(!success) { - char message[512] = {}; - glGetShaderInfoLog(m_shader, 512, nullptr, message); - - throw std::runtime_error(message); - } -} - - -} \ No newline at end of file diff --git a/src/Shader/Shader.hpp b/src/Shader/Shader.hpp deleted file mode 100644 index 76a1197..0000000 --- a/src/Shader/Shader.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include <cstdint> -#include "../Assets.hpp" - -namespace MC { - -class Shader { - -public: - uint32_t get() const { - return m_shader; - } - - static Shader create_vertex() { - return {GL_VERTEX_SHADER, Assets::Shaders::vertex}; - } - - static Shader create_fragment() { - return {GL_FRAGMENT_SHADER, Assets::Shaders::fragment}; - } - -private: - Shader(uint32_t type, const char* source); - - uint32_t m_shader; -}; - -} \ No newline at end of file diff --git a/src/Shader/ShaderProgram.cpp b/src/Shader/ShaderProgram.cpp deleted file mode 100644 index 4d0b684..0000000 --- a/src/Shader/ShaderProgram.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include <GL/glew.h> -#include <stdexcept> -#include "ShaderProgram.hpp" - -namespace MC { - -ShaderProgram::ShaderProgram(Shader fragment, Shader vertex) { - m_program = glCreateProgram(); - - glAttachShader(m_program, fragment.get()); - glAttachShader(m_program, vertex.get()); - - glLinkProgram(m_program); - - glDeleteShader(fragment.get()); - glDeleteShader(vertex.get()); - - GLint success; - glGetProgramiv(m_program, GL_LINK_STATUS, &success); - if(!success) { - char message[512] = {}; - glGetProgramInfoLog(m_program, 512, nullptr, message); - - throw std::runtime_error(message); - } -} - -void ShaderProgram::bind() const { - glUseProgram(m_program); -} - -Uniform ShaderProgram::uniform(const std::string& name) const { - auto index = glGetUniformLocation(m_program, name.c_str()); - - return {name, static_cast<uint32_t>(index)}; -} - -uint32_t ShaderProgram::get() const { - return m_program; -} - -} diff --git a/src/Shader/ShaderProgram.hpp b/src/Shader/ShaderProgram.hpp deleted file mode 100644 index 857dc2f..0000000 --- a/src/Shader/ShaderProgram.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include <string> -#include <vector> -#include "Shader.hpp" -#include "../Math/Math.hpp" -#include "Uniform.hpp" - -namespace MC { - -class ShaderProgram { -public: - ShaderProgram(Shader fragment, Shader vertex); - - uint32_t get() const; - - Uniform uniform(const std::string& name) const; - - void bind() const; - -private: - uint32_t m_program; -}; - -} \ No newline at end of file diff --git a/src/Shader/Uniform.cpp b/src/Shader/Uniform.cpp deleted file mode 100644 index 71b7633..0000000 --- a/src/Shader/Uniform.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <GL/glew.h> -#include "Uniform.hpp" - -namespace MC { - -void Uniform::set(Matrix<4, 4> value) const { - glUniformMatrix4fv(m_index, 1, GL_TRUE, value.elements); -} - -void Uniform::set(Vector<3> value) const { - glUniform3f(m_index, value.x(), value.y(), value.z()); -} - -} diff --git a/src/Shader/Uniform.hpp b/src/Shader/Uniform.hpp deleted file mode 100644 index 58cdc28..0000000 --- a/src/Shader/Uniform.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include <cstdint> -#include <string> -#include <utility> -#include "../Math/Math.hpp" - -namespace MC { - -class Uniform { -public: - Uniform(std::string name, uint32_t index) - : m_name(std::move(name)), m_index(index) {}; - - void set(Matrix<4, 4> value) const; - void set(Vector<3> value) const; - -private: - std::string m_name; - uint32_t m_index; -}; - -} |
