Minor refactoring

This commit is contained in:
2025-07-29 17:17:28 -04:00
parent c8b5a5ebd4
commit 7a7bfc4930
10 changed files with 69 additions and 57 deletions

View File

@@ -6,26 +6,27 @@
#include "LogUtils.hpp"
namespace ugly {
ugly::ShaderProgramBuilder::ShaderProgramBuilder():
ShaderProgramBuilder::ShaderProgramBuilder():
mProgram{glCreateProgram()} {}
ugly::ShaderProgramBuilder::~ShaderProgramBuilder() {
ShaderProgramBuilder::~ShaderProgramBuilder() {
if(mProgram != 0) {
glDeleteProgram(mProgram);
}
}
void ugly::ShaderProgramBuilder::reset() {
void ShaderProgramBuilder::reset() {
using namespace std;
ShaderProgramBuilder b;
swap(*this, b);
}
ugly::ShaderProgramBuilder &ugly::ShaderProgramBuilder::attachFromMemory(GLenum type, const GLchar *string, GLint length) {
ShaderProgramBuilder &ShaderProgramBuilder::attachFromMemory(GLenum type, const GLchar *string, GLint length) {
auto shader = glCreateShader(type);
glShaderSource(shader, 1, &string, length != 0 ? &length : NULL);
glCompileShader(shader);
@@ -36,7 +37,7 @@ ugly::ShaderProgramBuilder &ugly::ShaderProgramBuilder::attachFromMemory(GLenum
char buf[512];
glGetShaderInfoLog(shader, 512, NULL, buf);
glDeleteShader(shader);
ugly::log("failed to compile shader:\n\t{}", buf);
log("failed to compile shader:\n\t{}", buf);
}
glAttachShader(mProgram, shader);
@@ -45,14 +46,14 @@ ugly::ShaderProgramBuilder &ugly::ShaderProgramBuilder::attachFromMemory(GLenum
}
ugly::ShaderProgramBuilder &ugly::ShaderProgramBuilder::attachFromFile(GLenum type, const char *filename) {
ShaderProgramBuilder &ShaderProgramBuilder::attachFromFile(GLenum type, const char *filename) {
auto file = std::filebuf{};
auto ss = std::ostringstream{};
ugly::log("loading shader from file {}", filename);
log("loading shader from file {}", filename);
file.open(filename, std::ios_base::in);
if(!file.is_open()) {
ugly::log("couldn't open file {}", filename);
log("couldn't open file {}", filename);
}
ss << &file;
@@ -60,7 +61,7 @@ ugly::ShaderProgramBuilder &ugly::ShaderProgramBuilder::attachFromFile(GLenum ty
}
GLuint ugly::ShaderProgramBuilder::link() {
GLuint ShaderProgramBuilder::link() {
glLinkProgram(mProgram);
GLint status;
@@ -68,7 +69,7 @@ GLuint ugly::ShaderProgramBuilder::link() {
if(status != GL_TRUE) {
char buf[512];
glGetProgramInfoLog(mProgram, 512, NULL, buf);
ugly::log("failed to link program:\n\t{}", buf);
log("failed to link program:\n\t{}", buf);
}
auto result = mProgram;
@@ -76,3 +77,5 @@ GLuint ugly::ShaderProgramBuilder::link() {
reset();
return result;
}
}