fix frustum culling for entities

This commit is contained in:
MihailRis
2024-08-03 17:41:03 +03:00
parent e399e95930
commit 78e274dec4
3 changed files with 14 additions and 10 deletions
+6 -2
View File
@@ -194,6 +194,7 @@ void WorldRenderer::renderLevel(
auto assets = engine->getAssets();
auto atlas = assets->get<Atlas>("blocks");
bool culling = engine->getSettings().graphics.frustumCulling.get();
float fogFactor = 15.0f / ((float)settings.chunks.loadDistance.get()-2);
auto shader = assets->get<Shader>("main");
@@ -207,7 +208,8 @@ void WorldRenderer::renderLevel(
auto entityShader = assets->get<Shader>("entity");
setupWorldShader(entityShader, camera, settings, fogFactor);
level->entities->render(assets, *modelBatch, *frustumCulling, delta, pause);
level->entities->render(
assets, *modelBatch, culling ? frustumCulling.get() : nullptr, delta, pause);
if (!pause) {
scripting::on_frontend_render();
@@ -252,7 +254,9 @@ void WorldRenderer::renderLines(
renderBlockSelection();
}
if (player->debug && showEntitiesDebug) {
level->entities->renderDebug(*lineBatch, *frustumCulling, ctx);
bool culling = engine->getSettings().graphics.frustumCulling.get();
level->entities->renderDebug(
*lineBatch, culling ? frustumCulling.get() : nullptr, ctx);
}
}