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
+12 -12
View File
@@ -342,41 +342,41 @@ void BlocksRenderer::blockCube(
}
if (ao) {
if (isOpen(coord + Z, group)) {
if (isOpen(coord + Z, block)) {
faceAO(coord, X, Y, Z, texfaces[5], lights);
}
if (isOpen(coord - Z, group)) {
if (isOpen(coord - Z, block)) {
faceAO(coord, -X, Y, -Z, texfaces[4], lights);
}
if (isOpen(coord + Y, group)) {
if (isOpen(coord + Y, block)) {
faceAO(coord, X, -Z, Y, texfaces[3], lights);
}
if (isOpen(coord - Y, group)) {
if (isOpen(coord - Y, block)) {
faceAO(coord, X, Z, -Y, texfaces[2], lights);
}
if (isOpen(coord + X, group)) {
if (isOpen(coord + X, block)) {
faceAO(coord, -Z, Y, X, texfaces[1], lights);
}
if (isOpen(coord - X, group)) {
if (isOpen(coord - X, block)) {
faceAO(coord, Z, Y, -X, texfaces[0], lights);
}
} else {
if (isOpen(coord + Z, group)) {
if (isOpen(coord + Z, block)) {
face(coord, X, Y, Z, texfaces[5], pickLight(coord + Z), lights);
}
if (isOpen(coord - Z, group)) {
if (isOpen(coord - Z, block)) {
face(coord, -X, Y, -Z, texfaces[4], pickLight(coord - Z), lights);
}
if (isOpen(coord + Y, group)) {
if (isOpen(coord + Y, block)) {
face(coord, X, -Z, Y, texfaces[3], pickLight(coord + Y), lights);
}
if (isOpen(coord - Y, group)) {
if (isOpen(coord - Y, block)) {
face(coord, X, Z, -Y, texfaces[2], pickLight(coord - Y), lights);
}
if (isOpen(coord + X, group)) {
if (isOpen(coord + X, block)) {
face(coord, -Z, Y, X, texfaces[1], pickLight(coord + X), lights);
}
if (isOpen(coord - X, group)) {
if (isOpen(coord - X, block)) {
face(coord, Z, Y, -X, texfaces[0], pickLight(coord - X), lights);
}
}