couch/core/Shaders/Shader.h

32 lines
720 B
C
Raw Normal View History

2021-01-13 10:42:57 -06:00
#ifndef SHADER_H
#define SHADER_H
2021-01-13 13:17:31 -06:00
#include <glm/gtc/type_ptr.hpp>
2021-01-13 10:42:57 -06:00
#include "types.h"
#include "Material.h"
2021-01-21 15:26:39 -06:00
#include "Light.h"
2021-01-13 10:42:57 -06:00
class Shader {
public:
Id id;
Shader(const char *vertexCode, const char *fragmentCode);
2021-01-13 10:42:57 -06:00
void Use();
2021-01-13 13:17:31 -06:00
void UpdateView(Matrix view);
void UpdateModel(Matrix model);
void UpdateProjection(Matrix projection);
void UpdateColor(bool usesColor);
void UpdateColor(bool usesColor, Color color);
void UpdateTex(bool usesTex);
void UpdateTex(bool usesTex, Texture tex);
2021-01-20 20:49:12 -06:00
void UpdateAlphaScissor(cfloat alphaScissor);
2021-01-21 15:26:39 -06:00
void UpdateUnshaded(bool unshaded);
void UpdateDirectionalLight(DirectionalLight directionalLight);
2021-01-15 16:15:47 -06:00
virtual Name GetName() const;
2021-01-13 10:42:57 -06:00
};
#endif /* SHADER_H */