pub enum PrimitiveAssemblerDesc<'a, B: Backend> {
    Vertex {
        buffers: &'a [VertexBufferDesc],
        attributes: &'a [AttributeDesc],
        input_assembler: InputAssemblerDesc,
        vertex: EntryPoint<'a, B>,
        tessellation: Option<(EntryPoint<'a, B>, EntryPoint<'a, B>)>,
        geometry: Option<EntryPoint<'a, B>>,
    },
    Mesh {
        task: Option<EntryPoint<'a, B>>,
        mesh: EntryPoint<'a, B>,
    },
}
Expand description

Primitive Assembler describes how input data are fetched in the pipeline and formed into primitives before being sent into the fragment shader.

Variants

Vertex

Fields

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:

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

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

Vertex based pipeline

Mesh

Fields

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.

Mesh shading pipeline

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.