feat!: rework header files

This commit is contained in:
2026-01-06 20:07:44 +01:00
parent f4f9f4a7ac
commit 66761b8e5d
12 changed files with 122 additions and 78 deletions

35
inc/core/shader.hpp Executable file
View File

@@ -0,0 +1,35 @@
#ifndef SHADER_HPP
#define SHADER_HPP
#include "glad/glad.h"
class Shader
{
private:
GLuint vertexShaderID; // vertex shader id
GLuint fragmentShaderID; // fragment shader id
// final compiled shader program id used by the gpu
GLuint shaderProgramID;
// compile vertex shader source code
void addVertShader(const char* vertexSource);
// compile fragment shader source code
void addFragShader(const char* fragmentSource);
// link both compile vertex and fragment shader
void compileInProgram();
public:
// Does nothing apart initializing all IDs to 0
Shader();
// compile and link vertex and fragment into the shader struct
void compile(const char* vertexSource, const char* fragmentSource);
// free shader program
~Shader();
GLuint getShaderProgramID() const;
// activate shader program into gpu pipeline
void use() const;
};
#endif