/// attributes of a type of block
struct BlockType {
+ const Shape *shape;
+ glm::vec3 color;
+ glm::vec3 outline_color;
+
Block::Type id;
bool visible;
- const Shape *shape;
- glm::vec3 color;
- glm::vec3 outline_color;
+ struct Faces {
+ bool right;
+ bool left;
+ bool top;
+ bool bottom;
+ bool front;
+ bool back;
+ } fill;
explicit BlockType(
bool v = false,
const glm::vec3 &color = { 1, 1, 1 },
- const Shape *shape = &DEFAULT_SHAPE,
- const glm::vec3 &outline_color = { -1, -1, -1 })
- : id(0), visible(v), shape(shape), color(color), outline_color(outline_color) { }
+ const Shape *shape = &DEFAULT_SHAPE
+ );
static const NullShape DEFAULT_SHAPE;
void FillModel(
- Model &m,
+ Model::Buffer &m,
const glm::vec3 &pos_offset = { 0, 0, 0 },
Model::Index idx_offset = 0
) const;