12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #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);
- }
|