Program.h
branchv_0
changeset 10 8382173bfc35
parent 5 ee4ba9f5a053
child 29 dc3c102e1264
equal deleted inserted replaced
9:53ba7e52c67c 10:8382173bfc35
    20 #include "opengl.h"
    20 #include "opengl.h"
    21 #include "Shader.h"
    21 #include "Shader.h"
    22 
    22 
    23 class Program {
    23 class Program {
    24 public:
    24 public:
    25 	class Impl;
       
    26 	Program();
    25 	Program();
    27 	virtual ~Program();
    26 	virtual ~Program();
    28 	void attachShader(const Shader& shader);
    27 	void attachShader(const Shader& shader);
    29 	void detachShader(const Shader& shader);
    28 	void detachShader(const Shader& shader);
    30 	void link();
    29 	void link();
    32 	GLint getAttribLocation(const std::string& name);
    31 	GLint getAttribLocation(const std::string& name);
    33 	GLint getUniformLocation(const std::string& name);
    32 	GLint getUniformLocation(const std::string& name);
    34 	GLint getFragDataLocation(const std::string& name);
    33 	GLint getFragDataLocation(const std::string& name);
    35 	void bindFragDataLocation(const std::string& name, const GLint color);
    34 	void bindFragDataLocation(const std::string& name, const GLint color);
    36 private:
    35 private:
       
    36 	class Impl;
    37 	Impl* impl;
    37 	Impl* impl;
    38 	Program(const Program&) = delete;
    38 	Program(const Program&) = delete;
    39 	Program& operator=(const Program&) = delete;
    39 	Program& operator=(const Program&) = delete;
    40 };
    40 };