Trait vulkano::pipeline::vertex::Definition
[−]
[src]
pub unsafe trait Definition<I>: 'static + 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.
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.
Implementors
impl<T, I> Definition<I> for SingleBufferDefinition<T> where T: Vertex, I: ShaderInterfaceDef
impl<T, U, I> Definition<I> for TwoBuffersDefinition<T, U> where T: Vertex, U: Vertex, I: ShaderInterfaceDef
impl<T, U, I> Definition<I> for OneVertexOneInstanceDefinition<T, U> where T: Vertex, U: Vertex, I: ShaderInterfaceDef