Trait vulkano::pipeline::vertex::VertexDefinition
source · 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>;
}
Expand description
Trait for types that describe the definition of the vertex input used by a graphics pipeline.
Required Associated Types
sourcetype BuffersIter: ExactSizeIterator<Item = (u32, usize, InputRate)>
type BuffersIter: ExactSizeIterator<Item = (u32, usize, InputRate)>
Iterator that returns the offset, the stride (in bytes) and input rate of each buffer.
sourcetype AttribsIter: ExactSizeIterator<Item = (u32, u32, AttributeInfo)>
type AttribsIter: ExactSizeIterator<Item = (u32, u32, AttributeInfo)>
Iterator that returns the attribute location, buffer id, and infos.
Required Methods
sourcefn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
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.