[][src]Struct macroquad::PipelineParams

pub struct PipelineParams {
    pub cull_face: CullFace,
    pub front_face_order: FrontFaceOrder,
    pub depth_test: Comparison,
    pub depth_write: bool,
    pub depth_write_offset: Option<(f32, f32)>,
    pub color_blend: Option<BlendState>,
    pub alpha_blend: Option<BlendState>,
    pub stencil_test: Option<StencilState>,
    pub color_write: (bool, bool, bool, bool),
    pub primitive_type: PrimitiveType,
}

Fields

cull_face: CullFacefront_face_order: FrontFaceOrderdepth_test: Comparisondepth_write: booldepth_write_offset: Option<(f32, f32)>color_blend: Option<BlendState>

Color (RGB) blend function. If None - blending will be disabled for this pipeline. Usual use case to get alpha-blending:

PipelineParams {
    color_blend: Some(BlendState::new(
        Equation::Add,
        BlendFactor::Value(BlendValue::SourceAlpha),
        BlendFactor::OneMinusValue(BlendValue::SourceAlpha))
    ),
    ..Default::default()
};
alpha_blend: Option<BlendState>

Alpha blend function. If None - alpha will be blended with same equation than RGB colors. One of possible separate alpha channel blend settings is to avoid blending with WebGl background. On webgl canvas's resulting alpha channel will be used to blend the whole canvas background. To avoid modifying only alpha channel, but keep usual transparency:

PipelineParams {
    color_blend: Some(BlendState::new(
        Equation::Add,
        BlendFactor::Value(BlendValue::SourceAlpha),
        BlendFactor::OneMinusValue(BlendValue::SourceAlpha))
    ),
    alpha_blend: Some(BlendState::new(
        Equation::Add,
        BlendFactor::Zero,
        BlendFactor::One)
    ),
    ..Default::default()
};

The same results may be achieved with ColorMask(true, true, true, false)

stencil_test: Option<StencilState>color_write: (bool, bool, bool, bool)primitive_type: PrimitiveType

Trait Implementations

impl Clone for PipelineParams[src]

impl Copy for PipelineParams[src]

impl Debug for PipelineParams[src]

impl Default for PipelineParams[src]

impl PartialEq<PipelineParams> for PipelineParams[src]

impl StructuralPartialEq for PipelineParams[src]

Auto Trait Implementations

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> 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.