pub struct RenderGraphContext<'a> {
graph: &'a RenderGraph,
node: &'a NodeState,
inputs: &'a [SlotValue],
outputs: &'a mut [Option<SlotValue>],
run_sub_graphs: Vec<RunSubGraph>,
}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.
Fields
graph: &'a RenderGraphnode: &'a NodeStateinputs: &'a [SlotValue]outputs: &'a mut [Option<SlotValue>]run_sub_graphs: Vec<RunSubGraph>Implementations
sourceimpl<'a> RenderGraphContext<'a>
impl<'a> RenderGraphContext<'a>
sourcepub fn new(
graph: &'a RenderGraph,
node: &'a NodeState,
inputs: &'a [SlotValue],
outputs: &'a mut [Option<SlotValue>]
) -> Self
pub fn new(
graph: &'a RenderGraph,
node: &'a NodeState,
inputs: &'a [SlotValue],
outputs: &'a mut [Option<SlotValue>]
) -> Self
Creates a new render graph context for the node.
sourcepub fn input_info(&self) -> &SlotInfos
pub fn input_info(&self) -> &SlotInfos
Returns the SlotInfos of the inputs.
sourcepub fn output_info(&self) -> &SlotInfos
pub fn output_info(&self) -> &SlotInfos
Returns the SlotInfos of the outputs.
sourcepub 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.
sourcepub 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.
sourcepub 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].
sourcepub 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].
sourcepub 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.
sourcepub fn run_sub_graph(
&mut self,
name: impl Into<Cow<'static, str>>,
inputs: Vec<SlotValue>
) -> Result<(), RunSubGraphError>
pub fn run_sub_graph(
&mut self,
name: impl Into<Cow<'static, str>>,
inputs: Vec<SlotValue>
) -> Result<(), RunSubGraphError>
Queues up a sub graph for execution after the node has finished running.
sourcepub fn finish(self) -> Vec<RunSubGraph>
pub fn finish(self) -> Vec<RunSubGraph>
Finishes the context for this Node by
returning the sub graphs to run next.
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 · sourcefn borrow_mut(&mut self) -> &mut T
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,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
fn as_any(&self) -> &(dyn Any + 'static)
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
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more