Mesh.cpp 590 B

12345678910111213141516171819202122232425262728
  1. #include <fstream>
  2. #include "client/rendering/Mesh.h"
  3. Mesh::Mesh() {
  4. vertexBuffer.bind();
  5. vertexBuffer.setFloatAttribute(0, 3, 0, 8);
  6. vertexBuffer.setFloatAttribute(1, 2, 3, 8);
  7. vertexBuffer.setFloatAttribute(2, 3, 5, 8);
  8. }
  9. void Mesh::add(const Triangle& data) {
  10. buffer.add(data);
  11. }
  12. void Mesh::clear() {
  13. buffer.clear();
  14. }
  15. void Mesh::build() {
  16. vertexBuffer.bindBuffer();
  17. vertexBuffer.setData(sizeof (Triangle) * buffer.getLength(), &(buffer[0]));
  18. }
  19. void Mesh::draw() const {
  20. vertexBuffer.bindArray();
  21. vertexBuffer.draw(buffer.getLength() * 3);
  22. }