pub struct OverlayNode {
pub overlay_rgba: Vec<u8>,
pub overlay_width: u32,
pub overlay_height: u32,
/* private fields */
}Expand description
Porter-Duff “src over dst” alpha compositing.
The input frame (inputs[0] / process_cpu argument) is the base layer.
overlay_rgba is composited on top using its alpha channel.
The CPU path performs the same src_over formula as the shader:
out_rgb = overlay.rgb * overlay.a + base.rgb * (1 − overlay.a)
out_a = overlay.a + base.a * (1 − overlay.a)Fields§
§overlay_rgba: Vec<u8>The overlay frame (top layer) as RGBA bytes.
overlay_width: u32Width of overlay_rgba.
overlay_height: u32Height of overlay_rgba.
Implementations§
Trait Implementations§
Source§impl RenderNode for OverlayNode
Available on crate feature wgpu only.
impl RenderNode for OverlayNode
Available on crate feature
wgpu only.Source§fn input_count(&self) -> usize
fn input_count(&self) -> usize
Number of input textures required by this node (default: 1).
Source§fn process(
&self,
inputs: &[&Texture],
outputs: &[&Texture],
ctx: &RenderContext,
)
fn process( &self, inputs: &[&Texture], outputs: &[&Texture], ctx: &RenderContext, )
Run the GPU render pass. Read more
Source§fn pass_count(&self) -> usize
fn pass_count(&self) -> usize
Number of render passes (default: 1). Multi-pass nodes (e.g. gaussian
blur) return 2 or more.
Source§impl RenderNodeCpu for OverlayNode
impl RenderNodeCpu for OverlayNode
Auto Trait Implementations§
impl !Freeze for OverlayNode
impl !RefUnwindSafe for OverlayNode
impl !UnwindSafe for OverlayNode
impl Send for OverlayNode
impl Sync for OverlayNode
impl Unpin for OverlayNode
impl UnsafeUnpin for OverlayNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more