[][src]Trait vulkano::pipeline::vertex::VertexDefinition

pub unsafe trait VertexDefinition<I>: VertexSource<Vec<Arc<dyn BufferAccess + Send + Sync>>> {
    type BuffersIter: ExactSizeIterator<Item = (u32, usize, InputRate)>;
    type AttribsIter: ExactSizeIterator<Item = (u32, u32, AttributeInfo)>;
    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<Item = (u32, usize, InputRate)>

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

type AttribsIter: ExactSizeIterator<Item = (u32, u32, AttributeInfo)>

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::Target: VertexDefinition<I>, 
[src]

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

type BuffersIter = <Mv as VertexDefinition<I>>::BuffersIter

type AttribsIter = <Mv as VertexDefinition<I>>::AttribsIter

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

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

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

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

Loading content...