2020-09-04 19:13:22 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#define SHADER_DIR "assets/shaders/"
|
|
|
|
|
|
|
|
class Shader
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static void LoadShaderSource(const char* filepath, char** buffer);
|
|
|
|
|
|
|
|
public:
|
|
|
|
Shader(const char* vertShader, const char* fragShader);
|
|
|
|
~Shader();
|
|
|
|
|
|
|
|
void Use();
|
|
|
|
|
2020-09-05 13:39:53 +00:00
|
|
|
void SetUniformInt(const char* uniform, int value) const;
|
|
|
|
void SetUniformFloat(const char* uniform, float value) const;
|
|
|
|
void SetUniformMat4(const char* uniform, const float* ptrToMatrix) const;
|
2020-09-04 19:13:22 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
unsigned int program;
|
|
|
|
};
|