diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 765032b..4723638 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,7 @@ add_executable(Fall-Fever Window.cpp EventHandler.cpp ShaderProgram.cpp - VertexBuffer.cpp + VertexArray.cpp Texture.cpp Camera.cpp Mesh.cpp diff --git a/src/Controller.h b/src/Controller.h index f631d38..dfcf5e3 100644 --- a/src/Controller.h +++ b/src/Controller.h @@ -6,7 +6,6 @@ #include "EventHandler.h" #include "Camera.h" #include "ShaderProgram.h" -#include "VertexBuffer.h" #include "Entity.h" #include "defines.h" diff --git a/src/Mesh.cpp b/src/Mesh.cpp index 0576c04..8b273a3 100644 --- a/src/Mesh.cpp +++ b/src/Mesh.cpp @@ -3,7 +3,7 @@ Mesh::Mesh(std::vector vertices, std::vector indices, std::vector textures) : numElements(indices.size()), textures(textures), - vertexBuffer(static_cast(vertices.data()), static_cast(indices.data()), vertices.size(), indices.size()) { + vertexArray(static_cast(vertices.data()), static_cast(indices.data()), vertices.size(), indices.size()) { // Empty... @@ -25,9 +25,9 @@ void Mesh::draw(ShaderProgram *shaderProgram) { } // Draw elements - vertexBuffer.bind(); + vertexArray.bind(); glDrawElements(GL_TRIANGLES, numElements, GL_UNSIGNED_INT, 0); - vertexBuffer.unbind(); + vertexArray.unbind(); // Unbind all textures for(auto it = textures.begin(); it != textures.end(); it++) { diff --git a/src/Mesh.h b/src/Mesh.h index fff44cb..761a4a7 100644 --- a/src/Mesh.h +++ b/src/Mesh.h @@ -3,7 +3,7 @@ #include #include "ShaderProgram.h" -#include "VertexBuffer.h" +#include "VertexArray.h" #include "Texture.h" #include "defines.h" @@ -21,7 +21,7 @@ private: uint32_t numElements; std::vector textures; - VertexBuffer vertexBuffer; + VertexArray vertexArray; void setupMesh(); diff --git a/src/VertexBuffer.cpp b/src/VertexArray.cpp similarity index 75% rename from src/VertexBuffer.cpp rename to src/VertexArray.cpp index 737654f..f090cb2 100644 --- a/src/VertexBuffer.cpp +++ b/src/VertexArray.cpp @@ -1,15 +1,15 @@ #include -#include "VertexBuffer.h" +#include "VertexArray.h" #include "defines.h" -VertexBuffer::VertexBuffer(void *vertexData, void *indexData, uint32_t numVertices, uint32_t numIndices) { +VertexArray::VertexArray(void *vertexData, void *indexData, uint32_t numVertices, uint32_t numIndices) { glGenVertexArrays(1, &VAO); glBindVertexArray(VAO); - glGenBuffers(1, &bufferId); - glBindBuffer(GL_ARRAY_BUFFER, bufferId); + glGenBuffers(1, &VBO); + glBindBuffer(GL_ARRAY_BUFFER, VBO); glBufferData(GL_ARRAY_BUFFER, numVertices * sizeof(Vertex), vertexData, GL_STATIC_DRAW); glGenBuffers(1, &EBO); @@ -32,14 +32,14 @@ VertexBuffer::VertexBuffer(void *vertexData, void *indexData, uint32_t numVertic glBindVertexArray(0); } -VertexBuffer::~VertexBuffer() { - glDeleteBuffers(1, &bufferId); +VertexArray::~VertexArray() { + glDeleteBuffers(1, &VBO); } -void VertexBuffer::bind() { +void VertexArray::bind() { glBindVertexArray(VAO); } -void VertexBuffer::unbind() { +void VertexArray::unbind() { glBindVertexArray(0); } diff --git a/src/VertexArray.h b/src/VertexArray.h new file mode 100644 index 0000000..adb8ba2 --- /dev/null +++ b/src/VertexArray.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +class VertexArray { + +public: + + VertexArray(void *vertexData, void *indexData, uint32_t numVertices, uint32_t numIndices); + ~VertexArray(); + + void bind(); + void unbind(); + +private: + + GLuint VAO; + GLuint VBO; + GLuint EBO; + +}; \ No newline at end of file diff --git a/src/VertexBuffer.h b/src/VertexBuffer.h deleted file mode 100644 index 6011963..0000000 --- a/src/VertexBuffer.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include - -class VertexBuffer { - -public: - - VertexBuffer(void *vertexData, void *indexData, uint32_t numVertices, uint32_t numIndices); - ~VertexBuffer(); - - void bind(); - void unbind(); - -private: - - GLuint bufferId; - GLuint VAO; - GLuint EBO; - -}; \ No newline at end of file