diff options
Diffstat (limited to 'src/RendererSectionData.hpp')
-rw-r--r-- | src/RendererSectionData.hpp | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/src/RendererSectionData.hpp b/src/RendererSectionData.hpp index 54b6eea..ca652f4 100644 --- a/src/RendererSectionData.hpp +++ b/src/RendererSectionData.hpp @@ -1,46 +1,20 @@ #pragma once #include <vector> -#include <array> #include <glm/mat4x4.hpp> -#include "Block.hpp" #include "Vector.hpp" class World; -class BlockModel; struct RendererSectionData { std::vector<glm::mat4> models; std::vector<glm::vec4> textures; std::vector<glm::vec3> colors; std::vector<glm::vec2> lights; - size_t hash; + size_t hash = 0; Vector sectionPos; - - RendererSectionData(World *world, Vector sectionPosition); - - ~RendererSectionData() = default; - - RendererSectionData(RendererSectionData &&other) = default; -private: - - void AddFacesByBlockModel(const std::vector<Vector> §ionsList, World *world, Vector blockPos, const BlockModel &model, glm::mat4 transform, unsigned char light, unsigned char skyLight, const std::array<unsigned char, 16 * 16 * 16>& visibility); - - std::array<unsigned char, 16 * 16 * 16> GetBlockVisibilityData(World *world); - - std::vector<std::pair<BlockId, const BlockModel *>> idModels; - const BlockModel* GetInternalBlockModel(const BlockId& id); - - std::array<BlockId, 4096> blockIdData; - void SetBlockIdData(World *world); - - inline const BlockId& GetBlockId(const Vector& pos) { - return blockIdData[pos.y * 256 + pos.z * 16 + pos.x]; - } - - inline const BlockId& GetBlockId(int x, int y, int z) { - return blockIdData[y * 256 + z * 16 + x]; - } }; + +RendererSectionData ParseSection(World *world, Vector sectionPosition);
\ No newline at end of file |