34 static constexpr uint32_t
k_max = 512;
35 std::array<DecalInstance, k_max>
slots_{};
GPU-uploadable particle structs for all effect categories.
Projectile component and weapon/surface type enumerations.
WeaponType
Weapon type — determines tracer style, damage, sound, and impact effects.
Definition WeaponState.hpp:12
Ring-buffer pool of 512 world-space decal quads (bullet holes, scorch marks).
Definition BulletHoleDecal.hpp:18
uint32_t count() const
Definition BulletHoleDecal.hpp:31
void update(float dt)
Fade all active decals over time.
Definition BulletHoleDecal.cpp:29
static constexpr uint32_t k_max
Definition BulletHoleDecal.hpp:34
const DecalInstance * data() const
Definition BulletHoleDecal.hpp:30
void spawn(glm::vec3 pos, glm::vec3 normal, WeaponType wt)
Place a new decal at pos oriented by normal.
Definition BulletHoleDecal.cpp:8
uint32_t head_
Ring-buffer insertion pointer.
Definition BulletHoleDecal.hpp:36
std::array< DecalInstance, k_max > slots_
Definition BulletHoleDecal.hpp:35
World-space decal instance (bullet hole, scorch mark).
Definition ParticleTypes.hpp:119