13#include <unordered_map>
41 std::unordered_map<std::string, UniformValue> mUniforms;
49 glm::vec4
color = {1.0f, 1.0f, 1.0f, 1.0f};
void SetUniform(const std::string &name, const UniformValue &value)
Enregistre un uniform dans le tableau interne du material.
Definition material.cpp:6
void Bind() const
Permet de lier le Material courant et de setup les uniforms avant un drawcall.
Definition material.cpp:16
Material(Texture *texture=Defaults::texture, Shader *shader=Defaults::shader)
Construit un nouveau Material.
Definition material.cpp:4
UniformValue GetUniform(const std::string &name) const
Renvoie la valeur d'un uniforme stockée dans le material.
Definition material.cpp:10
Shader * shader
Pointeur vers un objet Shader préalablement compilé
Definition material.hpp:45
glm::vec4 color
La couleur du Material (automatiquement envoyée à l'uniform u_Color, peut être utilisée par les shade...
Definition material.hpp:49
Texture * texture
Pointeur vers un objet Texture (peut être nullptr)
Definition material.hpp:47
Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé
Definition shader.hpp:16
Transporte un ID de texture OpenGL.
Definition texture.hpp:18
Expose des variables par défaut globalement pour les modules qui en ont besoin.
Graphics::Texture * texture
Une texture par défaut.
Definition defaults.cpp:7
Graphics::Shader * shader
Un shader par défaut, utilisé pour initialiser les materials.
Definition defaults.cpp:5
Definition material.cpp:3
std::variant< int, float, bool, glm::vec2, glm::vec3, glm::vec4, glm::mat4 > UniformValue
Permet de ranger sous le nom "UniformValue" tous les types actuellement gérés par les uniforms shader...
Definition material.hpp:21
Classe qui encapsule le chargement let l'usage d'un shader OpenGL.
Définit la classe Texture utilisée dans pas mal de renderers graphiques Son principal intérêt est d...