Enum gfx_hal::pso::PrimitiveAssemblerDesc [−][src]
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: InputAssemblerDesc
Input 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,
[src]
<B as Backend>::ShaderModule: RefUnwindSafe,
impl<'a, B> Send for PrimitiveAssemblerDesc<'a, B>
[src]
impl<'a, B> Sync for PrimitiveAssemblerDesc<'a, B>
[src]
impl<'a, B> Unpin for PrimitiveAssemblerDesc<'a, B>
[src]
impl<'a, B> UnwindSafe for PrimitiveAssemblerDesc<'a, B> where
<B as Backend>::ShaderModule: RefUnwindSafe,
[src]
<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,
pub 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.
pub 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>,