Skip to main content

RenderNode

Trait RenderNode 

Source
pub trait RenderNode: RenderNodeCpu {
    // Required method
    fn process(
        &self,
        inputs: &[&Texture],
        outputs: &[&Texture],
        ctx: &RenderContext,
    );

    // Provided methods
    fn input_count(&self) -> usize { ... }
    fn pass_count(&self) -> usize { ... }
}
Expand description

GPU render node. Extends RenderNodeCpu so both paths are available.

Each node is responsible for creating and caching its own wgpu pipeline on first use. The pipeline is stored in a std::sync::OnceLock field so it is created exactly once per node instance.

process may submit one or more wgpu::CommandEncoder buffers. The RenderGraph guarantees that the queue processes them in submission order.

Required Methods§

Source

fn process( &self, inputs: &[&Texture], outputs: &[&Texture], ctx: &RenderContext, )

Run the GPU render pass.

inputs[i] are the source textures (len == input_count()). outputs[i] are pre-allocated Rgba8Unorm target textures (len == pass_count()). Write the final result into outputs[pass_count()-1].

Provided Methods§

Source

fn input_count(&self) -> usize

Number of input textures required by this node (default: 1).

Source

fn pass_count(&self) -> usize

Number of render passes (default: 1). Multi-pass nodes (e.g. gaussian blur) return 2 or more.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl RenderNode for AlphaMatteNode

Available on crate feature wgpu only.
Source§

impl RenderNode for BlendModeNode

Available on crate feature wgpu only.
Source§

impl RenderNode for ChromaKeyNode

Available on crate feature wgpu only.
Source§

impl RenderNode for ColorGradeNode

Available on crate feature wgpu only.
Source§

impl RenderNode for CrossfadeNode

Available on crate feature wgpu only.
Source§

impl RenderNode for LumaMaskNode

Available on crate feature wgpu only.
Source§

impl RenderNode for OverlayNode

Available on crate feature wgpu only.
Source§

impl RenderNode for ScaleNode

Available on crate feature wgpu only.
Source§

impl RenderNode for ShapeMaskNode

Available on crate feature wgpu only.
Source§

impl RenderNode for TransformNode

Available on crate feature wgpu only.
Source§

impl RenderNode for YuvUploadNode

Available on crate feature wgpu only.