This commit is contained in:
MihailRis 2026-02-03 14:00:58 +03:00
parent 895a496f6e
commit 2475a7e8f5
20 changed files with 88 additions and 79 deletions

View file

@ -241,7 +241,7 @@ void ChunksRenderer::drawShadowsPass(
continue;
}
glm::ivec2 pos {chunk->x, chunk->z};
const auto& found = meshes.find({chunk->x, chunk->z});
const auto& found = meshes.find(pos);
if (found == meshes.end()) {
continue;
}
@ -250,11 +250,11 @@ void ChunksRenderer::drawShadowsPass(
pos.x * CHUNK_W + 0.5f, 0.5f, pos.y * CHUNK_D + 0.5f
);
glm::vec3 min(chunk->x * CHUNK_W, chunk->bottom, chunk->z * CHUNK_D);
glm::vec3 min(pos.x * CHUNK_W, chunk->bottom, pos.y * CHUNK_D);
glm::vec3 max(
chunk->x * CHUNK_W + CHUNK_W,
pos.x * CHUNK_W + CHUNK_W,
chunk->top,
chunk->z * CHUNK_D + CHUNK_D
pos.y * CHUNK_D + CHUNK_D
);
if (!frustum.isBoxVisible(min, max)) {

View file

@ -86,16 +86,16 @@ WorldRenderer::WorldRenderer(
frontend.getContentGfxCache(),
engine.getSettings()
)),
precipitation(std::make_unique<PrecipitationRenderer>(
assets, level, *player.chunks, &engine.getSettings().graphics
)),
particles(std::make_unique<ParticlesRenderer>(
assets, level, *player.chunks, engine.getSettings().graphics
)),
texts(std::make_unique<TextsRenderer>(*batch3d, assets, *frustumCulling)),
blockWraps(
std::make_unique<BlockWrapsRenderer>(assets, level, *player.chunks)
),
precipitation(std::make_unique<PrecipitationRenderer>(
assets, level, *player.chunks, &engine.getSettings().graphics
)) {
) {
auto& settings = engine.getSettings();
level.events->listen(
LevelEventType::CHUNK_HIDDEN,

View file

@ -1,7 +1,6 @@
#pragma once
#include "commons.hpp"
#include "typedefs.hpp"
#include "presets/WeatherPreset.hpp"
@ -16,7 +15,6 @@
class Assets;
class Batch3D;
class BlockWrapsRenderer;
class Camera;
class ChunksRenderer;
class DebugLinesRenderer;
class DrawContext;
@ -58,6 +56,7 @@ class WorldRenderer {
std::unique_ptr<Skybox> skybox;
std::unique_ptr<Shadows> shadowMapping;
std::unique_ptr<DebugLinesRenderer> debugLines;
std::unique_ptr<PrecipitationRenderer> precipitation;
Weather weather {};
float timer = 0.0f;
@ -102,7 +101,6 @@ public:
std::unique_ptr<ParticlesRenderer> particles;
std::unique_ptr<TextsRenderer> texts;
std::unique_ptr<BlockWrapsRenderer> blockWraps;
std::unique_ptr<PrecipitationRenderer> precipitation;
std::unique_ptr<NamedSkeletons> skeletons;
static bool showChunkBorders;