From 810c7bc132725c5e10518631a3cb4407d4c24823 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 8 Jun 2024 20:22:52 +0300 Subject: [PATCH] fix: ancient aabb blocks rendering bug (lighting) --- src/graphics/render/BlocksRenderer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/graphics/render/BlocksRenderer.cpp b/src/graphics/render/BlocksRenderer.cpp index 9420d070..c68bae97 100644 --- a/src/graphics/render/BlocksRenderer.cpp +++ b/src/graphics/render/BlocksRenderer.cpp @@ -126,7 +126,7 @@ void BlocksRenderer::face(const vec3& coord, float s = 0.5f; if (lights) { - float d = glm::dot(Z, SUN_VECTOR); + float d = glm::dot(glm::normalize(Z), SUN_VECTOR); d = 0.8f + d * 0.2f; vec3 axisX = glm::normalize(X); @@ -229,13 +229,11 @@ void BlocksRenderer::blockAABB( if (block->hitboxes.empty()) { return; } - AABB hitbox = block->hitboxes[0]; for (const auto& box : block->hitboxes) { hitbox.a = glm::min(hitbox.a, box.a); hitbox.b = glm::max(hitbox.b, box.b); } - vec3 size = hitbox.size(); vec3 X(1, 0, 0); vec3 Y(0, 1, 0); @@ -249,7 +247,6 @@ void BlocksRenderer::blockAABB( Z = orient.axisZ; orient.transform(hitbox); } - coord = vec3(icoord) - vec3(0.5f) + hitbox.center(); face(coord, X*size.x, Y*size.y, Z*size.z, texfaces[5], lights); // north