[]Enum piston_window::draw_state::Blend

pub enum Blend {
    Alpha,
    Add,
    Lighter,
    Multiply,
    Invert,
}

The blend setting to use when drawing.

Using presets since some backends need one pipeline state object instance per blending technique.

Variants

Alpha

Alpha blending (allows semi-transparent pixels).

new_dest_color = src_color * src_alpha + dest_color * (1 - src_alpha)
new_dest_alpha = src_alpha + dest_alpha
Add

Additive blending.

new_dest_color = src_color + dest_color
new_dest_alpha = src_alpha + dest_alpha
Lighter

Additive blending with alpha channel.

new_dest_color = src_color * src_alpha + dest_color
new_dest_alpha = dest_alpha
Multiply

Multiply color components.

new_dest_color = src_color * dest_color
new_dest_alpha = src_alpha * dest_alpha
Invert

Invert colors when rendering a white shape.

new_dest_color = ref_color - src_color
new_dest_alpha = dest_alpha

When combining two fragments, subtract the destination color from a constant color using the source color as weight. Has an invert effect with the constant color as base and source color controlling displacement from the base color. A white source color and a white value results in plain invert. The output alpha is same as destination alpha.

Trait Implementations

impl Clone for Blend

impl Copy for Blend

impl Debug for Blend

impl PartialEq<Blend> for Blend

impl PartialOrd<Blend> for Blend

impl StructuralPartialEq for Blend

Auto Trait Implementations

impl RefUnwindSafe for Blend

impl Send for Blend

impl Sync for Blend

impl Unpin for Blend

impl UnwindSafe for Blend

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SetParameter for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.