Struct gfx_hal::pso::GraphicsShaderSet
source · 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>>,
}
Expand description
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
sourceimpl<'a, B: Clone + Backend> Clone for GraphicsShaderSet<'a, B>
impl<'a, B: Clone + Backend> Clone for GraphicsShaderSet<'a, B>
sourcefn clone(&self) -> GraphicsShaderSet<'a, B>
fn clone(&self) -> GraphicsShaderSet<'a, B>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more