blob: da0ae5dc9412c1fd81a587bb8d997cea81d6fc0b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#pragma once
#include "../shaderloader.h"
#include "../camera.h"
#include "../material.h"
#include "../modeltransform.h"
#include "../light.h"
class Shader{
public:
Shader(std::vector<GLenum> shaderTypes, std::vector<const char*> filepaths);
~Shader();
void bind();
void unbind();
GLuint getHandle();
void setMaterial(std::shared_ptr<Material> material);
void setCamera(std::shared_ptr<Camera> camera);
void setModelTransform(std::shared_ptr<ModelTransform> modelTransform);
void setModelTransform(glm::mat4 modelMatrix);
void setGlobalCoeffs(glm::vec3 coeffs);
void setLights(std::vector<std::shared_ptr<Light>> lights);
void clearLights();
void setTextUniforms(float screenWidth, float screenHeight, glm::vec3 color);
private:
GLuint m_handle;
};
|