Files
vb01/shader.h
T
devZoGok c7940f7280 Revert "animatable textures"
This reverts commit 8226a9479ce8ab45bed5bc6acbba63eaaf0e6330.

point light shadows
fixed spotlights
geometry shaders
2021-10-19 19:06:40 +03:00

35 lines
790 B
C++
Executable File

#ifndef SHADER_H
#define SHADER_H
#include<string>
#include<glm/mat4x4.hpp>
#include"vector.h"
namespace vb01{
class Shader{
public:
enum ErrorType{VERTEX,GEOMETRY,FRAGMENT,PROGRAM};
Shader(std::string,std::string,std::string="");
~Shader();
void setNumLights(int);
void use();
void setMat4(glm::mat4,std::string);
void setVec4(Vector4,std::string);
void setVec3(Vector3,std::string);
void setVec2(Vector2,std::string);
void setFloat(float,std::string);
void setBool(bool,std::string);
void setInt(int,std::string);
void editShader(bool,char,char,std::string);
private:
void loadShaders();
void checkCompileErrors(unsigned int,ErrorType);
unsigned int id;
bool geometry=false;
std::string vString,fString,gString;
};
}
#endif