From 34052b51e00c939a35294d7085cadb5111484dd3 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sat, 26 May 2018 13:20:47 +0200 Subject: Separate headers into compilation units --- src/buffer/vertex/particle_vertex_buffer.h | 35 +++++------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) (limited to 'src/buffer/vertex/particle_vertex_buffer.h') diff --git a/src/buffer/vertex/particle_vertex_buffer.h b/src/buffer/vertex/particle_vertex_buffer.h index 25855a2..8fb96a4 100644 --- a/src/buffer/vertex/particle_vertex_buffer.h +++ b/src/buffer/vertex/particle_vertex_buffer.h @@ -2,6 +2,8 @@ #include +#include + class ParticleVertexBuffer { private: std::vector _data; @@ -10,35 +12,10 @@ private: GLuint _buffer; public: - ParticleVertexBuffer(std::vector&& data): - _data{ std::move(data) } { - glGenVertexArrays(1, &_array); - glGenBuffers(1, &_buffer); - - glBindVertexArray(_array); - glBindBuffer(GL_ARRAY_BUFFER, _buffer); - glBufferData( - GL_ARRAY_BUFFER, - _data.size() * sizeof(GLfloat), - _data.data(), - GL_STATIC_DRAW - ); - - glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, nullptr); - } - - ~ParticleVertexBuffer() { - glDeleteBuffers(1, &_buffer); - glDeleteVertexArrays(1, &_array); - } + ParticleVertexBuffer(std::vector&& data); + ~ParticleVertexBuffer(); - void draw() const { - glBindVertexArray(_array); - glDrawArrays(GL_POINTS, 0, 3*_data.size()); - } + GLuint getBuffer() const; - GLuint getBuffer() const { - return _buffer; - } + void draw() const; }; -- cgit v1.2.3