Couch
Shader.h
1 #ifndef SHADER_H
2 #define SHADER_H
3 
4 #include <glm/gtc/type_ptr.hpp>
5 
6 #include "../types.h"
7 #include "../Material.h"
8 #include "../Light.h"
9 
10 #define NUM_POINT_LIGHTS 4
11 
12 class Shader {
13 public:
14  Id id;
15 
16  Shader(const char *vertexCode, const char *fragmentCode);
17  void Use();
18  void UpdateView(Matrix view);
19  void UpdateModel(Matrix model);
20  void UpdateProjection(Matrix projection);
21  void UpdateNormal(glm::mat3 normal);
22 
23  void UpdateMaterial(Material material);
24 
25  void UpdateDirectionalLight(DirectionalLight directionalLight);
26  void UpdatePointLights(PointLightList pointLights);
27 
28  virtual Name GetName() const;
29 };
30 
31 #endif /* SHADER_H */
Definition: Light.h:98
Definition: Shader.h:12
Definition: Material.h:20