[][src]Trait web_glitz::pipeline::graphics::TypedVertexInputLayout

pub trait TypedVertexInputLayout {
    type LayoutDescription: Into<VertexInputLayoutDescriptor>;

    const LAYOUT_DESCRIPTION: Self::LayoutDescription;
}

A vertex input layout description attached to a type.

See also VertexInputLayoutDescriptor.

This trait becomes useful in combination with the [TypedVertexBuffers] trait. If a TypedVertexInputLayout is attached to a [GraphicsPipeline] (see [GraphicsPipelineDescriptorBuilder::typed_vertex_input_layout]), then [TypedVertexBuffers] with a matching [TypedVertexBuffers::Layout] may be bound to the pipeline without further runtime checks.

Note that TypedVertexInputLayout is safe to implement, but implementing [TypedVertexBuffers] is unsafe: the data in the buffer representation for which [TypedVertexBuffers] is implemented must always be compatible with the vertex input layout specified by the [TypedVertexBuffers::Layout], see [TypedVertexBuffers] for details.

Associated Types

Loading content...

Associated Constants

Loading content...

Implementations on Foreign Types

impl TypedVertexInputLayout for ()[src]

impl<T0, T1> TypedVertexInputLayout for (T0, T1) where
    T0: Vertex,
    T1: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 2]

impl<T0, T1, T2> TypedVertexInputLayout for (T0, T1, T2) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 3]

impl<T0, T1, T2, T3> TypedVertexInputLayout for (T0, T1, T2, T3) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 4]

impl<T0, T1, T2, T3, T4> TypedVertexInputLayout for (T0, T1, T2, T3, T4) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 5]

impl<T0, T1, T2, T3, T4, T5> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 6]

impl<T0, T1, T2, T3, T4, T5, T6> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 7]

impl<T0, T1, T2, T3, T4, T5, T6, T7> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 8]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 9]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 10]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 11]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex,
    T11: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 12]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex,
    T11: Vertex,
    T12: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 13]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex,
    T11: Vertex,
    T12: Vertex,
    T13: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 14]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex,
    T11: Vertex,
    T12: Vertex,
    T13: Vertex,
    T14: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 15]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypedVertexInputLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) where
    T0: Vertex,
    T1: Vertex,
    T2: Vertex,
    T3: Vertex,
    T4: Vertex,
    T5: Vertex,
    T6: Vertex,
    T7: Vertex,
    T8: Vertex,
    T9: Vertex,
    T10: Vertex,
    T11: Vertex,
    T12: Vertex,
    T13: Vertex,
    T14: Vertex,
    T15: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 16]

Loading content...

Implementors

impl<T0> TypedVertexInputLayout for T0 where
    T0: Vertex
[src]

type LayoutDescription = [StaticVertexBufferSlotDescriptor; 1]

Loading content...