Struct bevy::render::render_graph::RenderGraphContext
[−]pub struct RenderGraphContext<'a> { /* private fields */ }
Expand description
The context with all graph information required to run a Node
.
This context is created for each node by the RenderGraphRunner
.
The slot input can be read from here and the outputs must be written back to the context for passing them onto the next node.
Sub graphs can be queued for running by adding a RunSubGraph
command to the context.
After the node has finished running the graph runner is responsible for executing the sub graphs.
Implementations
impl<'a> RenderGraphContext<'a>
impl<'a> RenderGraphContext<'a>
pub fn new(
graph: &'a RenderGraph,
node: &'a NodeState,
inputs: &'a [SlotValue],
outputs: &'a mut [Option<SlotValue>]
) -> RenderGraphContext<'a>
pub fn new(
graph: &'a RenderGraph,
node: &'a NodeState,
inputs: &'a [SlotValue],
outputs: &'a mut [Option<SlotValue>]
) -> RenderGraphContext<'a>
Creates a new render graph context for the node
.
pub fn input_info(&self) -> &SlotInfos
pub fn input_info(&self) -> &SlotInfos
Returns the SlotInfos
of the inputs.
pub fn output_info(&self) -> &SlotInfos
pub fn output_info(&self) -> &SlotInfos
Returns the SlotInfos
of the outputs.
pub fn get_input(
&self,
label: impl Into<SlotLabel>
) -> Result<&SlotValue, InputSlotError>
pub fn get_input(
&self,
label: impl Into<SlotLabel>
) -> Result<&SlotValue, InputSlotError>
Retrieves the input slot value referenced by the label
.
pub fn get_input_texture(
&self,
label: impl Into<SlotLabel>
) -> Result<&TextureView, InputSlotError>
pub fn get_input_texture(
&self,
label: impl Into<SlotLabel>
) -> Result<&TextureView, InputSlotError>
Retrieves the input slot value referenced by the label
as a TextureView
.
pub fn get_input_sampler(
&self,
label: impl Into<SlotLabel>
) -> Result<&Sampler, InputSlotError>
pub fn get_input_sampler(
&self,
label: impl Into<SlotLabel>
) -> Result<&Sampler, InputSlotError>
Retrieves the input slot value referenced by the label
as a Sampler
.
pub fn get_input_buffer(
&self,
label: impl Into<SlotLabel>
) -> Result<&Buffer, InputSlotError>
pub fn get_input_buffer(
&self,
label: impl Into<SlotLabel>
) -> Result<&Buffer, InputSlotError>
Retrieves the input slot value referenced by the label
as a Buffer
.
pub fn get_input_entity(
&self,
label: impl Into<SlotLabel>
) -> Result<Entity, InputSlotError>
pub fn get_input_entity(
&self,
label: impl Into<SlotLabel>
) -> Result<Entity, InputSlotError>
Retrieves the input slot value referenced by the label
as an Entity
.
pub fn set_output(
&mut self,
label: impl Into<SlotLabel>,
value: impl Into<SlotValue>
) -> Result<(), OutputSlotError>
pub fn set_output(
&mut self,
label: impl Into<SlotLabel>,
value: impl Into<SlotValue>
) -> Result<(), OutputSlotError>
Sets the output slot value referenced by the label
.
pub fn run_sub_graph(
&mut self,
name: impl Into<Cow<'static, str>>,
inputs: Vec<SlotValue, Global>
) -> Result<(), RunSubGraphError>
pub fn run_sub_graph(
&mut self,
name: impl Into<Cow<'static, str>>,
inputs: Vec<SlotValue, Global>
) -> Result<(), RunSubGraphError>
Queues up a sub graph for execution after the node has finished running.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for RenderGraphContext<'a>
impl<'a> Send for RenderGraphContext<'a>
impl<'a> Sync for RenderGraphContext<'a>
impl<'a> Unpin for RenderGraphContext<'a>
impl<'a> !UnwindSafe for RenderGraphContext<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more