add 'culling' property & optimize generated chunk meshes & fix faces culling when 'light-passing' is false

This commit is contained in:
MihailRis
2024-12-21 06:41:03 +03:00
parent d021b443dd
commit 954724c837
7 changed files with 65 additions and 17 deletions
+24
View File
@@ -49,6 +49,30 @@ std::optional<BlockModel> BlockModel_from(std::string_view str) {
return std::nullopt;
}
std::string to_string(CullingMode mode) {
switch (mode) {
case CullingMode::DEFAULT:
return "default";
case CullingMode::OPTIONAL:
return "optional";
case CullingMode::DISABLED:
return "disabled";
default:
return "unknown";
}
}
std::optional<CullingMode> CullingMode_from(std::string_view str) {
if (str == "default") {
return CullingMode::DEFAULT;
} else if (str == "optional") {
return CullingMode::OPTIONAL;
} else if (str == "disabled") {
return CullingMode::DISABLED;
}
return std::nullopt;
}
CoordSystem::CoordSystem(glm::ivec3 axisX, glm::ivec3 axisY, glm::ivec3 axisZ)
: axisX(axisX), axisY(axisY), axisZ(axisZ) {
fix = glm::ivec3(0);