31 lines
740 B
C++
31 lines
740 B
C++
#ifndef SHADER_H__
|
|
#define SHADER_H__
|
|
|
|
#include <string>
|
|
#include "define.h"
|
|
|
|
class Shader
|
|
{
|
|
public:
|
|
bool Load(const std::string& vertFile, const std::string& fragFile, bool verbose = false);
|
|
void Use() const;
|
|
|
|
GLint BindIntUniform(const std::string& name) const;
|
|
void UpdateIntUniform(GLint name, GLint value) const;
|
|
void UpdateFloatUniform(GLint name, GLfloat value) const;
|
|
|
|
static void Disable();
|
|
|
|
private:
|
|
GLenum m_program;
|
|
GLenum m_vertexShader;
|
|
GLenum m_fragmentShader;
|
|
|
|
private:
|
|
bool CheckShaderError(GLenum shader, bool verbose);
|
|
bool CheckProgramError(GLenum program, bool showWarning, bool verbose);
|
|
};
|
|
|
|
|
|
#endif // SHADER_H__
|