diff options
Diffstat (limited to 'src/GFX')
| -rw-r--r-- | src/GFX/Binder.cpp | 8 | ||||
| -rw-r--r-- | src/GFX/Binder.hpp | 6 | ||||
| -rw-r--r-- | src/GFX/Mesh.cpp | 4 | ||||
| -rw-r--r-- | src/GFX/Mesh.hpp | 4 |
4 files changed, 11 insertions, 11 deletions
diff --git a/src/GFX/Binder.cpp b/src/GFX/Binder.cpp index 0dce06d..e8fc559 100644 --- a/src/GFX/Binder.cpp +++ b/src/GFX/Binder.cpp @@ -4,7 +4,7 @@ namespace MC::GFX { -BindableMesh Binder::load(Mesh mesh) { +BindableMesh Binder::load(const Mesh& mesh) { auto vao = create_vao(); if (!mesh.indices().empty()) { store_indices(mesh.indices().data(), mesh.indices().size()); @@ -30,14 +30,14 @@ uint32_t Binder::create_vao() { glGenVertexArrays(1, &vao); glBindVertexArray(vao); - return static_cast<uint32_t>(vao); + return vao; } void Binder::unbind_vao() { glBindVertexArray(0); } -void Binder::store_indices(uint32_t* indices, size_t indices_size) { +void Binder::store_indices(const uint32_t* indices, size_t indices_size) { GLuint ebo; glGenBuffers(1, &ebo); @@ -46,7 +46,7 @@ void Binder::store_indices(uint32_t* indices, size_t indices_size) { } -void Binder::store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, void* data, long data_size) { +void Binder::store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, const void* data, long data_size) { assert(type_size == sizeof(float)); GLuint vbo; diff --git a/src/GFX/Binder.hpp b/src/GFX/Binder.hpp index d8a2be9..92faebe 100644 --- a/src/GFX/Binder.hpp +++ b/src/GFX/Binder.hpp @@ -35,14 +35,14 @@ class Binder { public: Binder() = default;; - static BindableMesh load(Mesh mesh); + static BindableMesh load(const Mesh& mesh); private: static uint32_t create_vao(); static void unbind_vao(); - static void store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, void* data, long data_size); - static void store_indices(uint32_t* indices, size_t indices_size); + static void store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, const void* data, long data_size); + static void store_indices(const uint32_t* indices, size_t indices_size); }; } \ No newline at end of file diff --git a/src/GFX/Mesh.cpp b/src/GFX/Mesh.cpp index b0271bb..1869622 100644 --- a/src/GFX/Mesh.cpp +++ b/src/GFX/Mesh.cpp @@ -2,11 +2,11 @@ namespace MC::GFX { -std::vector<uint32_t> Mesh::indices() { +const std::vector<uint32_t>& Mesh::indices() const { return m_indices; } -std::vector<Mesh::Attribute> Mesh::attributes() { +const std::vector<Mesh::Attribute>& Mesh::attributes() const { return m_attributes; } diff --git a/src/GFX/Mesh.hpp b/src/GFX/Mesh.hpp index bfe8eab..1d14ba2 100644 --- a/src/GFX/Mesh.hpp +++ b/src/GFX/Mesh.hpp @@ -49,8 +49,8 @@ public: ) : m_attributes(std::move(attributes)), m_indices() {}; - std::vector<uint32_t> indices(); - std::vector<Attribute> attributes(); + const std::vector<uint32_t>& indices() const; + const std::vector<Attribute>& attributes() const; private: std::vector<Attribute> m_attributes; |
