X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fchunk.hpp;h=d89fefc2edb79e1e9d9dc14533a6a6afba734232;hb=1a7bbd64b1fef1f4e2f9303f820d6f3ce76cebf1;hp=b625a17f7c4518f9d57f89f4bfff818dbe3feab5;hpb=addf4eb6485a36d40096d87196ed786e6e16ab6d;p=blank.git diff --git a/src/chunk.hpp b/src/chunk.hpp index b625a17..d89fefc 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -23,10 +23,10 @@ public: static constexpr int Width() { return 16; } static constexpr int Height() { return 16; } static constexpr int Depth() { return 16; } - static glm::vec3 Extent() { return glm::vec3(Width(), Height(), Depth()); } + static glm::tvec3 Extent() { return { Width(), Height(), Depth() }; } static constexpr int Size() { return Width() * Height() * Depth(); } - static AABB Bounds() { return AABB{ { 0, 0, 0 }, { Width(), Height(), Depth() } }; } + static AABB Bounds() { return AABB{ { 0, 0, 0 }, Extent() }; } static constexpr bool InBounds(const glm::vec3 &pos) { return @@ -48,6 +48,7 @@ public: ); } + void Allocate(); void Invalidate() { dirty = true; } Block &BlockAt(int index) { return blocks[index]; } @@ -62,9 +63,9 @@ public: float *dist = nullptr, glm::vec3 *normal = nullptr) const; - void Position(const glm::vec3 &); - const glm::vec3 &Position() const { return position; } - glm::mat4 Transform(const glm::vec3 &offset) const; + void Position(const glm::tvec3 &); + const glm::tvec3 &Position() const { return position; } + glm::mat4 Transform(const glm::tvec3 &offset) const; void Draw(); @@ -75,7 +76,7 @@ private: private: std::vector blocks; Model model; - glm::vec3 position; + glm::tvec3 position; bool dirty; };