#pragma once
#include <glad/glad.h>
#include <cstdlib>
#include <string>

class Shader {
public:
    std::string name;

    ///The shader program
    GLuint id = 0;

    ///The individual shaders
    GLuint vertex = 0;
    GLuint fragment = 0;

    Shader(const char* name, const std::string& vertexPath, const std::string& fragmentPath);
    Shader(const char* name, const std::string& filePath, const GLenum& type);
    void load(std::string filePath, GLenum type);
    void link();
    void erase(Shader* shader);
};
