SceneMemberVisibilitySystem Class Template
Computes visibility for scene members and stores the frame snapshot. More...
Declaration
Public Member Typedefs Index
template < ... > | |
| using | EngineRoleTag = helios::engine::runtime::world::tags::TypedSystemRole |
|
Runtime role tag used for engine system registration. More... | |
Public Constructors Index
template < ... > | |
| SceneMemberVisibilitySystem (TCullingStrategy cullingStrategy, SceneMemberVisibilityRegistry< TMemberHandle > &visibilityRegistry) | |
|
Creates the visibility system with strategy and output registry. More... | |
Public Member Functions Index
template < ... > | |
| void | update (UpdateContext &updateContext) noexcept |
|
Rebuilds the visibility registry for the current frame. More... | |
Private Member Functions Index
template <typename TSubmissionMode> | |
| void | processMembers (UpdateContext &updateContext, CullingContext< TMemberHandle > &cullingContext, const SceneHandle sceneHandle, const RenderTargetBindingComponent< TOwnerHandle > &renderTargetBindingComponent, const ViewportEntity &viewportEntity) |
|
Evaluates all members for one submission mode and one viewport. More... | |
Private Member Attributes Index
template < ... > | |
| TCullingStrategy | cullingStrategy_ |
|
Culling strategy used to decide member visibility per viewport. More... | |
template < ... > | |
| SceneMemberVisibilityRegistry< TMemberHandle > & | visibilityRegistry_ |
|
Tracks visible and culled members per viewport for diagnostics/debugging. More... | |
Private Static Attributes Index
template < ... > | |
| static auto & | logger_ = helios::engine::util::log::LogManager::loggerForScope(HELIOS_LOG_SCOPE) |
Description
Computes visibility for scene members and stores the frame snapshot.
This system is responsible for filling SceneMemberVisibilityRegistry once per frame. The resulting visible/culled member lists are consumed by subsequent rendering steps (for example by scene render submission).
- Template Parameters
-
TOwnerHandle Viewport owner handle type.
TMemberHandle Scene member handle type.
TCullingStrategy Strategy used to decide member visibility.
TRenderModes Reserved render mode parameter pack.
Definition at line 91 of file SceneMemberVisibilitySystem.ixx.
Public Member Typedefs
EngineRoleTag
|
Runtime role tag used for engine system registration.
Definition at line 174 of file SceneMemberVisibilitySystem.ixx.
Public Constructors
SceneMemberVisibilitySystem()
| inline explicit |
Creates the visibility system with strategy and output registry.
- Parameters
-
cullingStrategy Culling strategy instance.
visibilityRegistry Registry receiving per-frame visibility results.
Definition at line 182 of file SceneMemberVisibilitySystem.ixx.
Public Member Functions
update()
| inline noexcept |
Rebuilds the visibility registry for the current frame.
The registry is cleared first, then all active viewport bindings are traversed. For each viewport, members are tested and classified into visible/culled buckets per submission mode.
- Parameters
-
updateContext ECS/world update context.
Definition at line 196 of file SceneMemberVisibilitySystem.ixx.
References helios::engine::scene::SceneMemberVisibilityRegistry< TMemberHandle >::clear and helios::engine::scene::registerComponents.
Private Member Functions
processMembers()
| inline |
Evaluates all members for one submission mode and one viewport.
Appends each member to the visibility registry as either visible or culled.
- Template Parameters
-
TSubmissionMode Submission mode (Instanced or NonInstanced).
- Parameters
-
updateContext ECS/world update context.
cullingContext Reusable culling context used per member.
sceneHandle Scene currently bound to the viewport.
renderTargetBindingComponent Render target bound to the viewport.
viewportEntity Viewport entity being processed.
Definition at line 119 of file SceneMemberVisibilitySystem.ixx.
Private Member Attributes
cullingStrategy_
|
Culling strategy used to decide member visibility per viewport.
Definition at line 96 of file SceneMemberVisibilitySystem.ixx.
visibilityRegistry_
|
Tracks visible and culled members per viewport for diagnostics/debugging.
Definition at line 103 of file SceneMemberVisibilitySystem.ixx.
Private Static Attributes
logger_
| static |
Definition at line 98 of file SceneMemberVisibilitySystem.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.