X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fchunk.hpp;h=255d73b163f70ff25db4bade6f1b9a087a767aee;hb=b4995967309bf5570161db2287e27b84ca94ab9a;hp=e442e4e289107ee735417c9677ffa6157b42396d;hpb=2d5671c2ef977defae9ce0ce7248582ab3e8f011;p=blank.git diff --git a/src/chunk.hpp b/src/chunk.hpp index e442e4e..255d73b 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -51,6 +51,18 @@ public: 0.5f + (idx / (Width() * Height())) ); } + glm::mat4 ToTransform(int idx) const; + + static constexpr bool IsBorder(int idx) { + return + idx < Width() * Height() || + (idx / Width()) % Height() == 0 || + (idx / Width()) % Height() == Height() - 1 || + (idx / (Width() * Height())) == Depth() - 1; + } + + // check if block at given index is completely enclosed (and therefore invisible) + bool Obstructed(int idx) const; void Allocate(); void Invalidate() { dirty = true; }