[][src]Trait nannou::vk::VertexDefinition

pub unsafe trait VertexDefinition<I>: VertexSource<Vec<Arc<dyn BufferAccess + 'static + Sync + Send>>> where
    <Self::BuffersIter as Iterator>::Item == (u32, usize, InputRate),
    <Self::AttribsIter as Iterator>::Item == (u32, u32, AttributeInfo)
{ type BuffersIter: ExactSizeIterator; type AttribsIter: ExactSizeIterator; fn definition(
        &self,
        interface: &I
    ) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>; }

Trait for types that describe the definition of the vertex input used by a graphics pipeline.

Associated Types

type BuffersIter: ExactSizeIterator

Iterator that returns the offset, the stride (in bytes) and input rate of each buffer.

type AttribsIter: ExactSizeIterator

Iterator that returns the attribute location, buffer id, and infos.

Loading content...

Required methods

fn definition(
    &self,
    interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>

Builds the vertex definition to use to link this definition to a vertex shader's input interface.

Loading content...

Implementors

impl<I> VertexDefinition<I> for BufferlessDefinition[src]

impl<I, T> VertexDefinition<I> for T where
    T: SafeDeref,
    <T as Deref>::Target: VertexDefinition<I>, 
[src]

impl<Mv, L, Rp, I> VertexDefinition<I> for GraphicsPipeline<Mv, L, Rp> where
    Mv: VertexDefinition<I>, 
[src]

impl<T, I> VertexDefinition<I> for SingleBufferDefinition<T> where
    I: ShaderInterfaceDef,
    T: Vertex
[src]

impl<T, I> VertexDefinition<I> for SingleInstanceBufferDefinition<T> where
    I: ShaderInterfaceDef,
    T: Vertex
[src]

impl<T, U, I> VertexDefinition<I> for OneVertexOneInstanceDefinition<T, U> where
    I: ShaderInterfaceDef,
    T: Vertex,
    U: Vertex
[src]

impl<T, U, I> VertexDefinition<I> for TwoBuffersDefinition<T, U> where
    I: ShaderInterfaceDef,
    T: Vertex,
    U: Vertex
[src]

Loading content...