mirror of
https://github.com/guezoloic/LearnOpenGL.git
synced 2026-01-25 10:34:16 +00:00
feat: rework few fonctions and change glew to glad
- game files deleted
This commit is contained in:
@@ -2,51 +2,42 @@
|
||||
|
||||
Shader::Shader(const char* vertexShaderSource, const char* fragmentShaderSource)
|
||||
{
|
||||
vertexShader = glCreateShader(GL_VERTEX_SHADER);
|
||||
fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
|
||||
shaderProgram = glCreateProgram();
|
||||
vertexShader = glCreateShader(GL_VERTEX_SHADER);
|
||||
fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
|
||||
shaderProgram = glCreateProgram();
|
||||
|
||||
addVertShader(vertexShaderSource);
|
||||
addFragShader(fragmentShaderSource);
|
||||
addVertShader(vertexShaderSource);
|
||||
addFragShader(fragmentShaderSource);
|
||||
|
||||
compileInProgram();
|
||||
compileInProgram();
|
||||
}
|
||||
|
||||
void Shader::addVertShader(const char* vertexShaderSource)
|
||||
{
|
||||
glShaderSource(vertexShader, 1, &vertexShaderSource, nullptr);
|
||||
glCompileShader(vertexShader);
|
||||
glShaderSource(vertexShader, 1, &vertexShaderSource, nullptr);
|
||||
glCompileShader(vertexShader);
|
||||
}
|
||||
|
||||
void Shader::addFragShader(const char* fragmentShaderSource)
|
||||
{
|
||||
glShaderSource(fragmentShader, 1, &fragmentShaderSource, nullptr);
|
||||
glCompileShader(fragmentShader);
|
||||
glShaderSource(fragmentShader, 1, &fragmentShaderSource, nullptr);
|
||||
glCompileShader(fragmentShader);
|
||||
}
|
||||
|
||||
void Shader::compileInProgram()
|
||||
{
|
||||
glAttachShader(shaderProgram, vertexShader);
|
||||
glAttachShader(shaderProgram, fragmentShader);
|
||||
glLinkProgram(shaderProgram);
|
||||
glAttachShader(shaderProgram, vertexShader);
|
||||
glAttachShader(shaderProgram, fragmentShader);
|
||||
glLinkProgram(shaderProgram);
|
||||
|
||||
glDetachShader(shaderProgram, vertexShader);
|
||||
glDetachShader(shaderProgram, fragmentShader);
|
||||
glDeleteShader(vertexShader);
|
||||
glDeleteShader(fragmentShader);
|
||||
glDetachShader(shaderProgram, vertexShader);
|
||||
glDetachShader(shaderProgram, fragmentShader);
|
||||
glDeleteShader(vertexShader);
|
||||
glDeleteShader(fragmentShader);
|
||||
}
|
||||
|
||||
Shader::~Shader()
|
||||
{
|
||||
glDeleteProgram(shaderProgram);
|
||||
}
|
||||
Shader::~Shader() { glDeleteProgram(shaderProgram); }
|
||||
|
||||
void Shader::use() const
|
||||
{
|
||||
glUseProgram(shaderProgram);
|
||||
}
|
||||
void Shader::use() const { glUseProgram(shaderProgram); }
|
||||
|
||||
GLuint Shader::getProgram() const
|
||||
{
|
||||
return shaderProgram;
|
||||
}
|
||||
GLuint Shader::getProgram() const { return shaderProgram; }
|
||||
Reference in New Issue
Block a user