RenderEngine
Loading...
Searching...
No Matches
Material.hpp
Go to the documentation of this file.
1/*
2 * Material.hpp
3 *
4 * Class for representing a material
5 * by Stefanie Zollmann
6 *
7 *
8 */
9#ifndef MATERIAL_HPP
10#define MATERIAL_HPP
11
12
13
14// Include GLM
15#include <glm/glm.hpp>
16#include <string>
17
18class Shader;
20 public:
21 Material();
22 ~Material();
23
24 //setter
25 void setTextureName(const char* name);
26 void setDiffuseColour(glm::vec3 diffC);
27 void setAmbientColour(glm::vec3 ambC);
28 void setSpecularColour(glm::vec3 specC);
29 void setOpacity(float opacity);
30 void setShininess(float shininess);
31
32 //getter
33 glm::vec3 getDiffuseColour();
34 glm::vec3 getAmbientColour();
35 glm::vec3 getSpecularColour();
36 float getOpacity();
37
38 void setShader(Shader* shader);
40
42 std::string getTextureName();
43
44
45 private:
46 //texture
47 std::string m_textureName;
48 //diffuse color
49 glm::vec3 m_colorDiffuse;
50 glm::vec3 m_colorAmbient;
51 glm::vec3 m_colorSpecular;
52 float m_opacity;
53 float m_shininess;
54 Shader* m_shader; //each material has a reference to a shader for reusing them
55
56};
57
58
59#endif
Definition Material.hpp:19
void setAmbientColour(glm::vec3 ambC)
Definition Material.cpp:21
Shader * getShader()
Definition Material.cpp:56
Material()
Definition Material.cpp:5
glm::vec3 getDiffuseColour()
Definition Material.cpp:37
~Material()
Definition Material.cpp:9
void setShininess(float shininess)
Definition Material.cpp:32
glm::vec3 getAmbientColour()
Definition Material.cpp:40
void setShader(Shader *shader)
Definition Material.cpp:52
float getOpacity()
Definition Material.cpp:47
void setDiffuseColour(glm::vec3 diffC)
Definition Material.cpp:17
bool shaderIsInitialized()
Definition Material.cpp:61
void setSpecularColour(glm::vec3 specC)
Definition Material.cpp:25
std::string getTextureName()
Definition Material.cpp:66
void setOpacity(float opacity)
Definition Material.cpp:29
glm::vec3 getSpecularColour()
Definition Material.cpp:43
void setTextureName(const char *name)
Definition Material.cpp:14
Shader.
Definition Shader.hpp:27