RenderEngine
Loading...
Searching...
No Matches
MTLShader.hpp
Go to the documentation of this file.
1/*
2 * MTLShader.hpp
3 *
4 * Shader for mtl file supporting diffuse, ambient, specular, opacity
5 * by Stefanie Zollmann
6 *
7 *
8 */
9#ifndef MTLSHADER_HPP
10#define MTLSHADER_HPP
11
12#include "Shader.hpp"
13class Texture;
14
15class MTLShader: public Shader{
16 public:
18
19 MTLShader();
21
22 MTLShader(std::string vertexshaderName, std::string fragmentshaderName);
24
25 MTLShader(std::string shaderName);
27
28 ~MTLShader();
30
33
34 void setTexture(Texture* texture);
36
37 void setLightPos(glm::vec3 lightPos);
39
40 void setDiffuse(glm::vec3 diffuse);
42
43 void setAmbient(glm::vec3 ambient);
45
46 void setSpecular(glm::vec3 specular);
48
49 void setOpacity(float opacity);
51
52 void bind();
53
54
55 private:
56 glm::vec4 m_diffuseColor;
57 glm::vec4 m_ambientColor;
58 glm::vec4 m_specularColor;
59 Texture* m_texture;
60 GLuint m_TextureID;
61 GLuint m_lightPosID;
62 glm::vec3 m_lightPos;
63 float m_opacity;
64
65
66};
67
68
69#endif
Definition MTLShader.hpp:15
void setAmbient(glm::vec3 ambient)
setAmbient
Definition MTLShader.cpp:72
void bind()
bind
Definition MTLShader.cpp:89
void setLightPos(glm::vec3 lightPos)
setLightPos
Definition MTLShader.cpp:60
MTLShader()
Default constructor.
Definition MTLShader.cpp:6
void setUpShaderParameters()
setUpShaderParameters
Definition MTLShader.cpp:30
void setSpecular(glm::vec3 specular)
setSpecular
Definition MTLShader.cpp:77
void setOpacity(float opacity)
setOpacity
Definition MTLShader.cpp:83
void setTexture(Texture *texture)
setUpSsetTexturehaderParameters
Definition MTLShader.cpp:52
~MTLShader()
Destructor.
Definition MTLShader.cpp:25
void setDiffuse(glm::vec3 diffuse)
setDiffuse
Definition MTLShader.cpp:66
Shader.
Definition Shader.hpp:27
Texture.
Definition Texture.hpp:20