#pragma once #include #include #include "Emitter.hpp" class Texture; class Assets; class Camera; class MainBatch; class ParticlesRenderer { std::unordered_map> particles; std::vector emitters; std::unique_ptr batch; public: ParticlesRenderer(const Assets& assets); ~ParticlesRenderer(); void render(const Assets& assets, const Camera& camera, float delta); static size_t visibleParticles; static size_t aliveEmitters; };