[][src]Trait rendy_graph::Node

pub trait Node<B: Backend, T: ?Sized>: for<'a> NodeSubmittable<'a, B> + Debug + Sized + Sync + Send + 'static {
    type Capability: Capability;
    type Desc: NodeDesc<B, T, Node = Self>;
    fn run<'a>(
        &'a mut self,
        ctx: &GraphContext<B>,
        factory: &Factory<B>,
        aux: &T,
        frames: &'a Frames<B>
    ) -> Self::Submittables;
unsafe fn dispose(self, factory: &mut Factory<B>, aux: &T); fn desc() -> Self::Desc
    where
        Self::Desc: Default
, { ... }
fn builder() -> DescBuilder<B, T, Self::Desc>
    where
        Self::Desc: Default
, { ... } }

The node is building block of the framegraph. Node defines set of resources and operations to perform over them. Read-only data for operations comes from auxiliary data source T.

Parameters

B - backend type. T - auxiliary data type.

Associated Types

type Capability: Capability

Capability required by node. Graph will execute this node on command queue that supports this capability level.

type Desc: NodeDesc<B, T, Node = Self>

Description type to instantiate the node.

Loading content...

Required methods

fn run<'a>(
    &'a mut self,
    ctx: &GraphContext<B>,
    factory: &Factory<B>,
    aux: &T,
    frames: &'a Frames<B>
) -> Self::Submittables

Record commands required by node. Returned submits are guaranteed to be submitted within specified frame.

unsafe fn dispose(self, factory: &mut Factory<B>, aux: &T)

Dispose of the node.

Safety

Must be called after waiting for device idle.

Loading content...

Provided methods

fn desc() -> Self::Desc where
    Self::Desc: Default

Desc creation. Convenient method if Self::Desc implements Default.

fn builder() -> DescBuilder<B, T, Self::Desc> where
    Self::Desc: Default

Builder creation.

Loading content...

Implementors

Loading content...