4#include <unordered_map>
9 Shader(std::string vertexStc, std::string fragmentSrc, std::string geometrySource);
10 Shader(std::string vertexStc, std::string fragmentSrc);
16 void SetLightPos(glm::vec3 &);
17 void SetLightCol(
float *);
18 void SetTime(
float *);
19 void SetMPV(glm::mat4 &);
21 void SetUniformf(std::string name,
float value);
22 void SetUniform3f(std::string name,
float *value);
23 void SetUniformi(std::string name,
int value);
24 void SetUniformMat4(std::string name, glm::mat4 value);
28 inline int GetNativeShader()
33 int m_Shader=0, m_UniformId=0, m_LightPosUniformID=0, m_LightColUniformID=0, m_TimeUniformID=0;
34 std::unordered_map<std::string, uint32_t> uniformLocations;