OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
shader.hpp
Go to the documentation of this file.
1
5#pragma once
6#include <string>
7#include <glm/glm.hpp>
8#include <glad/glad.h>
9
10namespace Engine::Graphics {
16 class Shader {
17 private:
19 GLuint mID;
20
21 public:
22 GLuint GetID() { return mID; }
29 Shader(const std::string& vertexPath, const std::string& fragmentPath);
36 Shader(const char *vertexSource, const char *fragmentPath);
38 Shader();
40 ~Shader();
41
47 void Bind() const;
54 void BuildFromFiles(const std::string& vertexPath, const std::string& fragmentPath);
61 void BuildFromSource(const char *vertexSource, const char *fragmentSource);
68 void SetInt(const std::string& name, int val);
75 void SetFloat(const std::string& name, float val);
82 void SetBool(const std::string& name, bool val);
89 void SetMat4(const std::string& name, const glm::mat4& mat);
96 void SetVec4(const std::string& name, const glm::vec4& vec);
103 void SetVec3(const std::string& name, const glm::vec3& vec);
110 void SetVec2(const std::string& name, const glm::vec2& vec);
111 };
112}
void SetFloat(const std::string &name, float val)
Définit la valeur d'un uniform de type "float".
Definition shader.cpp:124
Shader(const std::string &vertexPath, const std::string &fragmentPath)
Construit un objet Shader et le compile à partir de fichiers vertex/fragment.
Definition shader.cpp:14
void SetVec4(const std::string &name, const glm::vec4 &vec)
Définit la valeur d'un uniform de type "Vec4".
Definition shader.cpp:109
void SetVec3(const std::string &name, const glm::vec3 &vec)
Définit la valeur d'un uniform de type "Vec3".
Definition shader.cpp:114
void SetBool(const std::string &name, bool val)
Définit la valeur d'un uniform de type "bool".
Definition shader.cpp:99
~Shader()
Détruit proprement un Shader.
Definition shader.cpp:78
void Bind() const
Permet de lier le Shader.
Definition shader.cpp:85
void SetMat4(const std::string &name, const glm::mat4 &mat)
Définit la valeur d'un uniform de type "Mat4".
Definition shader.cpp:104
void BuildFromFiles(const std::string &vertexPath, const std::string &fragmentPath)
Compile un programme de Shader à partir de fichiers.
Definition shader.cpp:23
void SetVec2(const std::string &name, const glm::vec2 &vec)
Définit la valeur d'un uniform de type "Vec2".
Definition shader.cpp:119
Shader()
Construit un objhet Shader vide.
Definition shader.cpp:12
void BuildFromSource(const char *vertexSource, const char *fragmentSource)
Compile un programme de Shader à partir de sources.
Definition shader.cpp:30
GLuint GetID()
Definition shader.hpp:22
void SetInt(const std::string &name, int val)
Définit la valeur d'un uniform de type "int".
Definition shader.cpp:94
Definition material.cpp:3