#ifndef SURFACE3D_H_INCLUDED #define SURFACE3D_H_INCLUDED // Includes OpenGL #ifdef WIN32 #include #else #define GL3_PROTOTYPES 1 #include #endif // Includes GLM #include #define GLM_ENABLE_EXPERIMENTAL #include #include // Includes #include #include "Shader.h" #include "Texture.h" #include "macro.h" class Surface3D { public: Surface3D(float tailleX, float tailleY, std::string const fichierImage, float multi=1); // Détruira la texture Surface3D(float tailleX, float tailleY, GLuint samplerID, float multi=1); // Ne détruira pas la texture ~Surface3D(); void afficher(glm::mat4 pmv, Shader const &shad); void charger(); private: Texture* m_texture; GLuint m_textID; float m_vertices[18]; float m_coordTexture[12]; GLuint m_vboID; int m_tailleVerticesBytes; int m_tailleCoordTextureBytes; GLuint m_vaoID; }; #endif // SURFACE3D_H_INCLUDED