#ifndef DEF_SHADER #define DEF_SHADER // Include Windows #ifdef WIN32 #include // Include Mac #elif __APPLE__ #define GL3_PROTOTYPES 1 #include // Include UNIX/Linux #else #define GL3_PROTOTYPES 1 #include #endif // Includes communs #include #include #include // Classe Shader class Shader { public: Shader(); Shader(Shader const &shaderACopier); Shader(std::string vertexSource, std::string fragmentSource); ~Shader(); Shader& operator=(Shader const &shaderACopier); bool charger(); bool compilerShader(GLuint &shader, GLenum type, std::string const &fichierSource); GLuint getProgramID() const; private: GLuint m_vertexID; GLuint m_fragmentID; GLuint m_programID; std::string m_vertexSource; std::string m_fragmentSource; }; #endif