Files
ugly/source/shader/include/ShaderProgramBuilder.hpp
2025-07-27 16:13:48 -04:00

29 lines
566 B
C++

#pragma once
#include <stdexcept>
#include <GL/glew.h>
namespace ugly{
class ShaderProgramBuilder {
public:
class Error: public std::runtime_error{
public:
using std::runtime_error::runtime_error;
};
public:
ShaderProgramBuilder();
~ShaderProgramBuilder();
void reset();
ShaderProgramBuilder &attachFromMemory(GLenum type, const GLchar *string, GLint length = 0);
ShaderProgramBuilder &attachFromFile(GLenum type, const char *filename);
GLuint link();
private:
GLuint mProgram;
};
}