diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-26 20:57:53 -0400 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-09-26 20:57:53 -0400 |
commit | 5a08c9c8e230fd952311f29bc02b22c7635d0178 (patch) | |
tree | 09bb647986461478ba8cc0671550d8488a6c434f /engine/xe_model.hpp | |
parent | texture arrays (diff) | |
download | minecraftvulkan-5a08c9c8e230fd952311f29bc02b22c7635d0178.tar.gz minecraftvulkan-5a08c9c8e230fd952311f29bc02b22c7635d0178.tar.bz2 minecraftvulkan-5a08c9c8e230fd952311f29bc02b22c7635d0178.zip |
vertex buffer is not a byte vector, multi texture loading
Diffstat (limited to 'engine/xe_model.hpp')
-rw-r--r-- | engine/xe_model.hpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engine/xe_model.hpp b/engine/xe_model.hpp index 09c5913..41dccd5 100644 --- a/engine/xe_model.hpp +++ b/engine/xe_model.hpp @@ -14,8 +14,19 @@ namespace xe { class Model { public: + struct Data { + std::vector<unsigned char> data{}; + template <typename T> + void write(T d) { + unsigned char const * p = reinterpret_cast<unsigned char const *>(&d); + for(std::size_t i = 0; i < sizeof(T); i++){ + data.push_back(p[i]); + } + } + }; + struct Builder { - std::vector<float> vertexData{}; + Model::Data vertexData{}; uint32_t vertexSize; std::vector<uint32_t> indices{}; @@ -35,7 +46,7 @@ class Model { void draw(VkCommandBuffer commandBuffer); private: - void createVertexBuffers(const std::vector<float> &vertexData, uint32_t vertexSize); + void createVertexBuffers(const std::vector<unsigned char> &vertexData, uint32_t vertexSize); void createIndexBuffers(const std::vector<uint32_t> &indexData); Device &xeDevice; |