Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Ecs::RendererDirtyList Struct Reference

Global dirty entity collector for renderer transform uploads. More...

#include <EcsData.h>

Collaboration diagram for Engine::Ecs::RendererDirtyList:

Static Public Member Functions

static void push (entt::entity entity)
 Adds an entity to the renderer transform dirty list.
static std::vector< entt::entity > & get ()
 Returns the mutable dirty entity list for the current frame.
static void clear ()
 Removes all queued dirty entities.
static void reserveAdditional (size_t additionalEntities)
 Reserve memory for entities when batch spawning to avoid reallocation.
static bool empty ()
 Checks whether any renderer transform updates are queued.

Static Private Attributes

static std::vector< entt::entity > entities

Detailed Description

Global dirty entity collector for renderer transform uploads.

Replaces per-entity ECS tag toggling (emplace_or_replace + remove) with a simple vector push_back + clear. Entities are deduplicated via a frame generation counter stored per-entity.

Thread safety: single-threaded game loop only (no mutex needed).

Definition at line 215 of file EcsData.h.

Member Function Documentation

◆ clear()

void Engine::Ecs::RendererDirtyList::clear ( )
inlinestatic

Removes all queued dirty entities.

Definition at line 238 of file EcsData.h.

References entities.

◆ empty()

bool Engine::Ecs::RendererDirtyList::empty ( )
inlinestatic

Checks whether any renderer transform updates are queued.

Returns
true when no entities are queued.

Definition at line 256 of file EcsData.h.

References entities.

◆ get()

std::vector< entt::entity > & Engine::Ecs::RendererDirtyList::get ( )
inlinestatic

Returns the mutable dirty entity list for the current frame.

Returns
Static vector containing queued entities.

Definition at line 230 of file EcsData.h.

References entities.

◆ push()

void Engine::Ecs::RendererDirtyList::push ( entt::entity entity)
inlinestatic

Adds an entity to the renderer transform dirty list.

Parameters
entityEntity whose transform-dependent render data needs an update.

Definition at line 221 of file EcsData.h.

References entities.

◆ reserveAdditional()

void Engine::Ecs::RendererDirtyList::reserveAdditional ( size_t additionalEntities)
inlinestatic

Reserve memory for entities when batch spawning to avoid reallocation.

Parameters
additionalEntitiesnumber of additional entities to reserve

Definition at line 247 of file EcsData.h.

References entities.

Member Data Documentation

◆ entities

std::vector<entt::entity> Engine::Ecs::RendererDirtyList::entities
inlinestaticprivate

Definition at line 262 of file EcsData.h.

Referenced by clear(), empty(), get(), push(), and reserveAdditional().


The documentation for this struct was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Ecs/EcsData.h