From 3d6a072dc92f48fbc0e5392733d53e8c9af41581 Mon Sep 17 00:00:00 2001 From: Joursoir Date: Tue, 6 Apr 2021 08:59:02 +0000 Subject: Mesh: add mode for draw elements --- src/graphics/Mesh.cpp | 7 ++++--- src/graphics/Mesh.hpp | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/graphics/Mesh.cpp b/src/graphics/Mesh.cpp index 64c4c7e..a4bf6b4 100644 --- a/src/graphics/Mesh.cpp +++ b/src/graphics/Mesh.cpp @@ -2,8 +2,9 @@ #include "Mesh.hpp" -Mesh::Mesh(Vertex *vertices, size_t num_vert, GLuint *indices, size_t num_indices) - : number_indices(num_indices) +Mesh::Mesh(GLenum primitive, Vertex *vertices, size_t num_vert, + GLuint *indices, size_t num_indices) + : mode(primitive), number_indices(num_indices) { glGenVertexArrays(1, &VAO); glGenBuffers(1, &VBO); @@ -43,6 +44,6 @@ Mesh::~Mesh() void Mesh::Draw() { glBindVertexArray(VAO); - glDrawElements(GL_TRIANGLES, number_indices, GL_UNSIGNED_INT, 0); + glDrawElements(mode, number_indices, GL_UNSIGNED_INT, 0); glBindVertexArray(0); } diff --git a/src/graphics/Mesh.hpp b/src/graphics/Mesh.hpp index 577a32a..e509310 100644 --- a/src/graphics/Mesh.hpp +++ b/src/graphics/Mesh.hpp @@ -6,10 +6,11 @@ class Mesh { GLuint VAO, VBO, EBO; + GLenum mode; size_t number_indices; public: - Mesh(Vertex *vertices, size_t num_vert, + Mesh(GLenum primitive, Vertex *vertices, size_t num_vert, GLuint *indices, size_t num_indices); ~Mesh(); -- cgit v1.2.3-18-g5258