~ | First triangle

This commit is contained in:
TheRedShip
2024-10-14 01:43:29 +02:00
parent d8fd3d0535
commit eae1ae4790
5 changed files with 57 additions and 33 deletions

View File

@ -37,23 +37,10 @@ char* load_file(char const* path)
return buffer;
}
void Shader::checkCompileErrors(GLuint shader)
Shader::Shader(std::string vertexPath, std::string fragmentPath)
{
GLint success;
GLchar infoLog[512];
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
if (!success)
{
glGetShaderInfoLog(shader, 512, NULL, infoLog);
std::cout << "ERROR::SHADER::COMPILATION_FAILED\n" << infoLog << std::endl;
}
}
Shader::Shader(char *vertexPath, char *fragmentPath)
{
const char *vertexCode = load_file(vertexPath);
const char *fragmentCode = load_file(fragmentPath);
const char *vertexCode = load_file(vertexPath.c_str());
const char *fragmentCode = load_file(fragmentPath.c_str());
_vertex = glCreateShader(GL_VERTEX_SHADER);
@ -70,15 +57,6 @@ Shader::Shader(char *vertexPath, char *fragmentPath)
checkCompileErrors(_fragment);
}
void Shader::attach(void)
{
_program = glCreateProgram();
glAttachShader(_program, _vertex);
glAttachShader(_program, _fragment);
glLinkProgram(_program);
}
Shader::Shader(Shader const &src)
{
*this = src;
@ -102,6 +80,28 @@ Shader::~Shader(void)
glDeleteProgram(_program);
}
void Shader::attach(void)
{
_program = glCreateProgram();
glAttachShader(_program, _vertex);
glAttachShader(_program, _fragment);
glLinkProgram(_program);
}
void Shader::checkCompileErrors(GLuint shader)
{
GLint success;
GLchar infoLog[512];
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
if (!success)
{
glGetShaderInfoLog(shader, 512, NULL, infoLog);
std::cout << "ERROR::SHADER::COMPILATION_FAILED\n" << infoLog << std::endl;
}
}
GLuint Shader::getProgram(void) const
{
return (_program);