pub struct RenderAgent { /* private fields */ }Expand description
The agent responsible for the main render pass (LaneKind::Render).
Holds only its own strategy state — every other dependency
(GraphicsDevice, RenderSystem, GpuCache, RenderWorldStore,
FrameContext) is fetched from EngineContext::services per frame.
Trait Implementations§
Source§impl Agent for RenderAgent
impl Agent for RenderAgent
Source§fn access(&self) -> AgentAccess
fn access(&self) -> AgentAccess
Reads the world read-only (active-camera extraction) and writes shared
render resources (RenderSystem, FrameGraph), so it takes the world by
shared reference. The scheduler may run it concurrently with Isolated
agents (which touch disjoint state), never with another shared-resource
writer in the same wave.
Source§fn deck_writes(&self) -> Vec<TypeId>
fn deck_writes(&self) -> Vec<TypeId>
Buffers its main scene pass into the [ScenePassSlot] deck slot.
Source§fn negotiate(&mut self, request: NegotiationRequest) -> NegotiationResponse
fn negotiate(&mut self, request: NegotiationRequest) -> NegotiationResponse
Negotiates with the DCC to determine the best execution strategy
given the current global resource constraints and priorities.
Source§fn apply_budget(&mut self, budget: ResourceBudget)
fn apply_budget(&mut self, budget: ResourceBudget)
Applies a resource budget issued by the DCC.
The agent must adjust its internal logic (e.g., LOD, quality settings)
to stay within the allocated limits.
Source§fn on_initialize(&mut self, context: &mut EngineContext<'_>)
fn on_initialize(&mut self, context: &mut EngineContext<'_>)
Called once after the agent is registered with the DCC. Read more
Source§fn execute(&mut self, context: &mut EngineContext<'_>)
fn execute(&mut self, context: &mut EngineContext<'_>)
Called every frame by the engine loop. Read more
Source§fn report_status(&self) -> AgentStatus
fn report_status(&self) -> AgentStatus
Reports the current status and health of the agent.
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Allows mutable downcasting to concrete agent types.
Source§fn execution_timing(&self) -> ExecutionTiming
fn execution_timing(&self) -> ExecutionTiming
Declares WHEN and HOW this agent should execute within the frame pipeline. Read more
Auto Trait Implementations§
impl Freeze for RenderAgent
impl !RefUnwindSafe for RenderAgent
impl Send for RenderAgent
impl Sync for RenderAgent
impl Unpin for RenderAgent
impl UnsafeUnpin for RenderAgent
impl !UnwindSafe for RenderAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more