[−][src]Trait vulkano::pipeline::vertex::VertexDefinition
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>
&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<I> VertexDefinition<I> for BufferlessDefinition
[src]
type BuffersIter = Empty<(u32, usize, InputRate)>
type AttribsIter = Empty<(u32, u32, AttributeInfo)>
fn definition(
&self,
_: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
_: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<I, T> VertexDefinition<I> for T where
T: SafeDeref,
T::Target: VertexDefinition<I>,
[src]
T: SafeDeref,
T::Target: VertexDefinition<I>,
type BuffersIter = <T::Target as VertexDefinition<I>>::BuffersIter
type AttribsIter = <T::Target as VertexDefinition<I>>::AttribsIter
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<Mv, L, Rp, I> VertexDefinition<I> for GraphicsPipeline<Mv, L, Rp> where
Mv: VertexDefinition<I>,
[src]
Mv: VertexDefinition<I>,
type BuffersIter = <Mv as VertexDefinition<I>>::BuffersIter
type AttribsIter = <Mv as VertexDefinition<I>>::AttribsIter
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<T, I> VertexDefinition<I> for SingleBufferDefinition<T> where
T: Vertex,
I: ShaderInterfaceDef,
[src]
T: Vertex,
I: ShaderInterfaceDef,
type BuffersIter = OptionIntoIter<(u32, usize, InputRate)>
type AttribsIter = VecIntoIter<(u32, u32, AttributeInfo)>
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<T, I> VertexDefinition<I> for SingleInstanceBufferDefinition<T> where
T: Vertex,
I: ShaderInterfaceDef,
[src]
T: Vertex,
I: ShaderInterfaceDef,
type BuffersIter = OptionIntoIter<(u32, usize, InputRate)>
type AttribsIter = VecIntoIter<(u32, u32, AttributeInfo)>
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<T, U, I> VertexDefinition<I> for OneVertexOneInstanceDefinition<T, U> where
T: Vertex,
U: Vertex,
I: ShaderInterfaceDef,
[src]
T: Vertex,
U: Vertex,
I: ShaderInterfaceDef,
type BuffersIter = VecIntoIter<(u32, usize, InputRate)>
type AttribsIter = VecIntoIter<(u32, u32, AttributeInfo)>
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
impl<T, U, I> VertexDefinition<I> for TwoBuffersDefinition<T, U> where
T: Vertex,
U: Vertex,
I: ShaderInterfaceDef,
[src]
T: Vertex,
U: Vertex,
I: ShaderInterfaceDef,
type BuffersIter = VecIntoIter<(u32, usize, InputRate)>
type AttribsIter = VecIntoIter<(u32, u32, AttributeInfo)>
fn definition(
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]
&self,
interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>