[−][src]Enum gfx_hal::pso::PrimitiveAssemblerDesc
Primitive Assembler describes how input data are fetched in the pipeline and formed into primitives before being sent into the fragment shader.
Variants
Vertex based pipeline
Fields of Vertex
buffers: &'a [VertexBufferDesc]Vertex buffers (IA)
attributes: &'a [AttributeDesc]Vertex attributes (IA)
input_assembler: InputAssemblerDescInput assembler attributes, describes how vertices are assembled into primitives (such as triangles).
vertex: EntryPoint<'a, B>A shader that outputs a vertex in a model.
tessellation: Option<(EntryPoint<'a, B>, EntryPoint<'a, B>)>Tesselation shaders consisting of:
-
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 shader: 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.
Mesh shading pipeline
Fields of Mesh
task: Option<EntryPoint<'a, B>>A shader that creates a variable amount of mesh shader invocations.
mesh: EntryPoint<'a, B>A shader of which each workgroup emits zero or more output primitives and the group of vertices and their associated data required for each output primitive.
Trait Implementations
impl<'a, B: Debug + Backend> Debug for PrimitiveAssemblerDesc<'a, B>[src]
Auto Trait Implementations
impl<'a, B> RefUnwindSafe for PrimitiveAssemblerDesc<'a, B> where
<B as Backend>::ShaderModule: RefUnwindSafe,
<B as Backend>::ShaderModule: RefUnwindSafe,
impl<'a, B> Send for PrimitiveAssemblerDesc<'a, B> where
<B as Backend>::ShaderModule: Sync,
<B as Backend>::ShaderModule: Sync,
impl<'a, B> Sync for PrimitiveAssemblerDesc<'a, B> where
<B as Backend>::ShaderModule: Sync,
<B as Backend>::ShaderModule: Sync,
impl<'a, B> Unpin for PrimitiveAssemblerDesc<'a, B>
impl<'a, B> UnwindSafe for PrimitiveAssemblerDesc<'a, B> where
<B as Backend>::ShaderModule: RefUnwindSafe,
<B as Backend>::ShaderModule: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,