[][src]Struct gfx_hal::pso::GraphicsShaderSet

pub struct GraphicsShaderSet<'a, B: Backend> {
    pub vertex: EntryPoint<'a, B>,
    pub hull: Option<EntryPoint<'a, B>>,
    pub domain: Option<EntryPoint<'a, B>>,
    pub geometry: Option<EntryPoint<'a, B>>,
    pub fragment: Option<EntryPoint<'a, B>>,
}

A complete set of shaders to build a graphics pipeline.

All except the vertex shader are optional; omitting them passes through the inputs without change.

If a fragment shader is omitted, the results of fragment processing are undefined. Specifically, any fragment color outputs are considered to have undefined values, and the fragment depth is considered to be unmodified. This can be useful for depth-only rendering.

Fields

vertex: EntryPoint<'a, B>

A shader that outputs a vertex in a model.

hull: Option<EntryPoint<'a, B>>

A hull shader takes in an input patch (values representing a small portion of a shape, which may be actual geometry or may be parameters for creating geometry) and produces one or more output patches.

domain: Option<EntryPoint<'a, B>>

A shader that takes in domains produced from a hull shader's output patches and computes actual vertex positions.

geometry: Option<EntryPoint<'a, B>>

A shader that takes given input vertexes and outputs zero or more output vertexes.

fragment: Option<EntryPoint<'a, B>>

A shader that outputs a value for a fragment. Usually this value is a color that is then displayed as a pixel on a screen.

Trait Implementations

impl<'a, B: Clone + Backend> Clone for GraphicsShaderSet<'a, B>[src]

impl<'a, B: Debug + Backend> Debug for GraphicsShaderSet<'a, B>[src]

Auto Trait Implementations

impl<'a, B> RefUnwindSafe for GraphicsShaderSet<'a, B> where
    <B as Backend>::ShaderModule: RefUnwindSafe

impl<'a, B> Send for GraphicsShaderSet<'a, B> where
    <B as Backend>::ShaderModule: Sync

impl<'a, B> Sync for GraphicsShaderSet<'a, B> where
    <B as Backend>::ShaderModule: Sync

impl<'a, B> Unpin for GraphicsShaderSet<'a, B>

impl<'a, B> UnwindSafe for GraphicsShaderSet<'a, B> where
    <B as Backend>::ShaderModule: RefUnwindSafe

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.