Flint Engine
Modular C++20 2D game engine powered by SDL3
Loading...
Searching...
No Matches
particle-effect.h
1// SPDX-License-Identifier: MIT
2// SPDX-FileCopyrightText: 2025-2026 Manuel Osorio
3#pragma once
4
5#include "flint/camera/camera.h"
6#include "flint/math/types.h"
7
8namespace Flint {
9 class GPURenderer;
10
19 public:
20 virtual ~ParticleEffect() = default;
26 virtual void update(float dt) = 0;
34 virtual void render(GPURenderer &renderer, const Camera &cam, const Vec2i &screenSize) = 0;
39 virtual bool isFinished() const = 0;
40 };
41}
High-level SDL GPU renderer managing pipeline state, batching, and frame presentation.
Definition renderer.h:39
virtual void render(GPURenderer &renderer, const Camera &cam, const Vec2i &screenSize)=0
Submit particle draw calls to the renderer.
virtual void update(float dt)=0
Advance the particle simulation by dt seconds.
virtual bool isFinished() const =0
Return true when the effect has emitted and faded all particles.
Abstract interface for a self-contained particle effect.
Generic 2-D vector with arithmetic operators.
Definition types.h:16