]> git.localhorst.tv Git - blank.git/blobdiff - src/world/BlockType.hpp
composite model is the canonical model
[blank.git] / src / world / BlockType.hpp
index 0cae9c00389767c013880e559f3a37bf1126c7c8..5fab9318dd2c44b5bd7066d048ca142b4dcc99eb 100644 (file)
@@ -2,9 +2,9 @@
 #define BLANK_WORLD_BLOCKTYPE_HPP_
 
 #include "Block.hpp"
-#include "../model/BlockModel.hpp"
-#include "../model/EntityModel.hpp"
-#include "../model/OutlineModel.hpp"
+#include "../graphics/BlockMesh.hpp"
+#include "../graphics/EntityMesh.hpp"
+#include "../graphics/OutlineMesh.hpp"
 #include "../model/shapes.hpp"
 
 #include <glm/glm.hpp>
@@ -18,7 +18,8 @@ struct BlockType {
 
        const Shape *shape;
        float texture;
-       glm::vec3 color;
+       glm::vec3 hsl_mod;
+       glm::vec3 rgb_mod;
        glm::vec3 outline_color;
 
        /// a string to display to the user
@@ -72,11 +73,7 @@ struct BlockType {
                }
        } fill;
 
-       explicit BlockType(
-               bool v = false,
-               const glm::vec3 &color = { 1, 1, 1 },
-               const Shape *shape = &DEFAULT_SHAPE
-       ) noexcept;
+       BlockType() noexcept;
 
        static const NullShape DEFAULT_SHAPE;
 
@@ -84,17 +81,17 @@ struct BlockType {
                return fill[block.OrientedFace(face)];
        }
 
-       void FillEntityModel(
-               EntityModel::Buffer &m,
+       void FillEntityMesh(
+               EntityMesh::Buffer &m,
                const glm::mat4 &transform = glm::mat4(1.0f),
-               EntityModel::Index idx_offset = 0
+               EntityMesh::Index idx_offset = 0
        ) const noexcept;
-       void FillBlockModel(
-               BlockModel::Buffer &m,
+       void FillBlockMesh(
+               BlockMesh::Buffer &m,
                const glm::mat4 &transform = glm::mat4(1.0f),
-               BlockModel::Index idx_offset = 0
+               BlockMesh::Index idx_offset = 0
        ) const noexcept;
-       void FillOutlineModel(OutlineModel::Buffer &m) const noexcept;
+       void FillOutlineMesh(OutlineMesh::Buffer &m) const noexcept;
 
 };