aboutsummaryrefslogtreecommitdiffstats
path: root/src/graphics
diff options
context:
space:
mode:
authorJoursoir <chat@joursoir.net>2021-04-06 08:59:02 +0000
committerJoursoir <chat@joursoir.net>2021-04-06 08:59:02 +0000
commit3d6a072dc92f48fbc0e5392733d53e8c9af41581 (patch)
treeff16be6a583be616699f6db371385df36a7e101a /src/graphics
parente72ef2c3a6f46e5ddc7324b1fe55fb15fec5c5f7 (diff)
downloadspace-simulator-3d6a072dc92f48fbc0e5392733d53e8c9af41581.tar.gz
space-simulator-3d6a072dc92f48fbc0e5392733d53e8c9af41581.tar.bz2
space-simulator-3d6a072dc92f48fbc0e5392733d53e8c9af41581.zip
Mesh: add mode for draw elements
Diffstat (limited to 'src/graphics')
-rw-r--r--src/graphics/Mesh.cpp7
-rw-r--r--src/graphics/Mesh.hpp3
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();