particles fix

This commit is contained in:
clasher113 2026-05-29 11:28:08 +03:00
parent b307b5c93b
commit e6ac30143c
3 changed files with 3 additions and 4 deletions

View file

@ -261,6 +261,7 @@ void LevelScreen::update(float delta) {
const Player& player = playerController->getPlayer(); const Player& player = playerController->getPlayer();
const Camera& camera = *player.currentCamera; const Camera& camera = *player.currentCamera;
decorator->update(paused ? 0.0f : delta, camera, weather); decorator->update(paused ? 0.0f : delta, camera, weather);
renderer->update(camera, delta * !hud->isPause());
} }
void LevelScreen::draw(float delta) { void LevelScreen::draw(float delta) {
@ -271,7 +272,6 @@ void LevelScreen::draw(float delta) {
if (!hud->isPause()) { if (!hud->isPause()) {
scripting::on_entities_render(engine.getTime().getDelta()); scripting::on_entities_render(engine.getTime().getDelta());
} }
renderer->update(camera, delta * !hud->isPause());
renderer->renderFrame(ctx, camera, hudVisible, *postProcessing); renderer->renderFrame(ctx, camera, hudVisible, *postProcessing);
if (!hud->isPause()) { if (!hud->isPause()) {
scripting::on_frontend_render(); scripting::on_frontend_render();

View file

@ -271,8 +271,7 @@ void Decorator::updateBlockEmitters(const Camera& camera) {
remove = true; remove = true;
} }
} else { } else {
iter = blockEmitters.erase(iter); remove = true;
continue;
} }
if (util::distance2(iter->first, glm::ivec3(camera.position)) > if (util::distance2(iter->first, glm::ivec3(camera.position)) >
UPDATE_AREA_DIAMETER * UPDATE_AREA_DIAMETER) { UPDATE_AREA_DIAMETER * UPDATE_AREA_DIAMETER) {

View file

@ -48,6 +48,7 @@ static inline void update_particle(
void ParticlesRenderer::updateParticles(float delta) { void ParticlesRenderer::updateParticles(float delta) {
std::vector<const Texture*> unusedTextures; std::vector<const Texture*> unusedTextures;
visibleParticles = 0;
for (auto& [texture, vec] : particles) { for (auto& [texture, vec] : particles) {
if (vec.empty()) { if (vec.empty()) {
@ -186,7 +187,6 @@ void ParticlesRenderer::update(const Camera& camera, float delta) {
void ParticlesRenderer::render(const Camera& camera) { void ParticlesRenderer::render(const Camera& camera) {
aliveEmitters = emitters.size(); aliveEmitters = emitters.size();
visibleParticles = 0;
bool backlight = settings.backlight.get(); bool backlight = settings.backlight.get();