← index
acidcamGL/source/acidcamGL-Visual.Studio/gl_shader.hpp
Source: acidcamGL/source/acidcamGL-Visual.Studio/gl_shader.hpp
#ifndef __GL_SHADER__
#define __GL_SHADER__

#include<iostream>
#include<string>
#include<GL/glew.h>
#include<GLFW/glfw3.h>

namespace acidcam {
    class ShaderProgram {
    public:
        ShaderProgram();
        ShaderProgram(GLuint id);
        ShaderProgram &operator=(const ShaderProgram &p);        
        int printShaderLog(GLuint err);
        void printProgramLog(int p);
        bool checkError();
        GLuint createProgram(const char *vert, const char *frag);
        GLuint createProgramFromFile(const std::string &vert, const std::string &frag);
        
        bool loadProgram(const std::string &text1, const std::string &text2);
        int id() const { return shader_id; }
        void useProgram();
        void setName(const std::string &n);
        std::string name() const { return name_; }
    private:
        GLuint shader_id;
        std::string name_;
    };
    
}
#endif