update particles garbage collection scheme

This commit is contained in:
MihailRis
2024-11-02 22:15:26 +03:00
parent cee214754b
commit 1974298c82
5 changed files with 50 additions and 21 deletions
+5 -2
View File
@@ -1,6 +1,7 @@
#pragma once
#include <vector>
#include <memory>
#include <unordered_map>
#include "Emitter.hpp"
@@ -12,13 +13,15 @@ class MainBatch;
class ParticlesRenderer {
std::unordered_map<const Texture*, std::vector<Particle>> particles;
std::vector<Emitter> emitters;
std::vector<std::unique_ptr<Emitter>> emitters;
std::unique_ptr<MainBatch> batch;
void renderParticles(const Camera& camera, float delta);
public:
ParticlesRenderer(const Assets& assets);
~ParticlesRenderer();
void render(const Assets& assets, const Camera& camera, float delta);
void render(const Camera& camera, float delta);
static size_t visibleParticles;
static size_t aliveEmitters;