#include "Modele3D.h" Modele3D::Modele3D() :m_textID( 0 ), m_vertices(0x0), m_coordTexture(0x0), m_vboID(0), m_vaoID(0) { //ctor } Modele3D::~Modele3D() { // Destruction des tableaux de cordonnées if ( m_vertices != 0x0 ) delete[] m_vertices; if ( m_coordTexture != 0x0 ) delete[] m_coordTexture; // Destruction du VBO glDeleteBuffers(1, &m_vboID); // Destruction du VAO glDeleteVertexArrays(1, &m_vaoID); } void Modele3D::afficher(glm::mat4 pmv, glm::mat4 m, Shader* const shad) { // Verouillage VAO glBindVertexArray(m_vaoID); // Envoi des matrices glUniformMatrix4fv(glGetUniformLocation(shad->getProgramID(), "pmv"), 1, GL_FALSE, glm::value_ptr(pmv)); glUniformMatrix4fv(glGetUniformLocation(shad->getProgramID(), "m"), 1, GL_FALSE, glm::value_ptr(m)); // Verrouillage de la texture glBindTexture(GL_TEXTURE_2D, m_textID); // Rendu glDrawArrays(GL_TRIANGLES, 0, m_nbVec); // Déverrouillage de la texture glBindTexture(GL_TEXTURE_2D, 0); // Déverrouillage du VAO glBindVertexArray(0); }