Files
eiifwhrn-game-engine-edition/Material.h
T
2026-06-08 17:07:34 -04:00

40 lines
1.0 KiB
C++

#ifndef MATERIAL_CLASS
#define MATERIAL_CLASS
#include "shaderClass.h"
#include<glad/glad.h>
#include<GLFW/glfw3.h>
#include<glm/glm.hpp>
class Material {
public:
Material() = delete;
Material(glm::vec3 ambient, glm::vec3 diffuse, glm::vec3 specular, float shininess) :
ambient(ambient), diffuse(diffuse), specular(specular), shininess(shininess)
{ }
void Bind(Shader& shader) {
shader.Set3F("material.ambient", ambient);
shader.Set3F("material.diffuse", diffuse);
shader.Set3F("material.specular", specular);
shader.Set1F("material.shininess", shininess);
};
void Unbind(Shader shader) {
shader.Set3F("material.ambient", glm::vec3(1.0f));
shader.Set3F("material.diffuse", glm::vec3(0.0f));
shader.Set3F("material.specular", glm::vec3(0.0f));
shader.Set1F("material.shininess", 0.0f);
//finish unbinding
};
glm::vec3 ambient;
glm::vec3 diffuse;
glm::vec3 specular;
float shininess;
private:
};
#endif