pub mod color_grade;
pub mod composite;
pub mod crossfade;
pub mod overlay;
pub mod scale;
pub mod upload;
pub use color_grade::ColorGradeNode;
pub use composite::{
AlphaMatteNode, BlendMode, BlendModeNode, ChromaKeyNode, LumaMaskNode, ShapeMaskNode,
TransformNode,
};
pub use crossfade::CrossfadeNode;
pub use overlay::OverlayNode;
pub use scale::{ScaleAlgorithm, ScaleNode};
pub use upload::{YuvFormat, YuvUploadNode};
pub trait RenderNodeCpu: Send {
fn process_cpu(&self, rgba: &mut [u8], w: u32, h: u32);
}
#[cfg(feature = "wgpu")]
pub trait RenderNode: RenderNodeCpu {
fn input_count(&self) -> usize {
1
}
fn pass_count(&self) -> usize {
1
}
fn process(
&self,
inputs: &[&wgpu::Texture],
outputs: &[&wgpu::Texture],
ctx: &crate::context::RenderContext,
);
}