Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- m_vertices.insert(m_vertices.end(), begin(vertices), end(vertices));
- m_texCoord.insert(m_texCoord.end(), begin(texCoord), end(texCoord));
- unsigned long partNumberMultipliedBy4 = m_partNumber * 4;
- m_indices.insert(m_indices.end(), {0 + partNumberMultipliedBy4, 1 + partNumberMultipliedBy4,
- 2 + partNumberMultipliedBy4, 0 + partNumberMultipliedBy4,
- 3 + partNumberMultipliedBy4, 2 + partNumberMultipliedBy4});
- unsigned long verticesSize = m_vertices.size(), texCoordSize = m_texCoord.size();
- m_vertice = verticesSize * sizeof(glm::vec3);
- m_tex = texCoordSize * sizeof(glm::vec2);
- m_indice = m_indices.size();
- //Update VBO
- glBindBuffer(GL_ARRAY_BUFFER, m_VBO);
- glBufferData(GL_ARRAY_BUFFER, m_vertice + m_tex, NULL, GL_DYNAMIC_DRAW);
- void *adresseVBO = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY); // We get VBO adress
- if(adresseVBO == NULL)
- {
- print("VBO recup error");
- glBindBuffer(GL_ARRAY_BUFFER, 0);
- return;
- }
- else
- {
- memcpy((char*)adresseVBO, &m_vertices[0], m_vertice); //Data update
- memcpy((char*)adresseVBO + m_vertice, &m_texCoord[0], m_tex);
- glUnmapBuffer(GL_ARRAY_BUFFER);
- adresseVBO = 0;
- glBindBuffer(GL_ARRAY_BUFFER, 0);
- }
- //Update IBO
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_IBO);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, m_indice * sizeof(unsigned int), NULL, GL_DYNAMIC_DRAW);
- void *adresseIBO = glMapBuffer(GL_ELEMENT_ARRAY_BUFFER, GL_WRITE_ONLY); // We get IBO adress
- if(adresseIBO == NULL)
- {
- print("IBO recup error");
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
- return;
- }
- else
- {
- memcpy((char*)adresseIBO, &m_indices[0], m_indice * sizeof(unsigned int)); //Data update
- glUnmapBuffer(GL_ELEMENT_ARRAY_BUFFER);
- adresseVBO = 0;
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement