[−][src]Struct web_glitz::pipeline::graphics::VertexInputLayoutDescriptorBuilder
Builds a new VertexInputLayoutDescriptor.
Example
use web_glitz::pipeline::graphics::{AttibuteLayoutAllocationHint, VertexInputLayoutDescriptorBuilder, VertexInputLayoutAllocationHint, InputRate, VertexAttributeDescriptor}; use web_glitz::pipeline::graphics::attribute_format::VertexAttributeFormat; let mut builder = VertexInputLayoutDescriptorBuilder::new(Some(VertexInputLayoutAllocationHint { bind_slot_count: 2, attribute_count: 3 })); builder.add_buffer_slot(28, InputRate::PerVertex) .add_attribute(VertexAttributeDescriptor { location: 0, offset_in_bytes: 0, format: VertexAttributeFormat::Float4_f32 }) .add_attribute(VertexAttributeDescriptor { location: 1, offset_in_bytes: 16, format: VertexAttributeFormat::Float3_f32 }); builder.add_buffer_slot(16, InputRate::PerInstance) .add_attribute(VertexAttributeDescriptor { location: 2, offset_in_bytes: 0, format: VertexAttributeFormat::Float4_f32 }); let layout_descriptor = builder.finish();
Methods
impl VertexInputLayoutDescriptorBuilder
[src]
pub fn new(allocation_hint: Option<VertexInputLayoutAllocationHint>) -> Self
[src]
Creates a new builder.
Takes an optional allocation_hint
to help reduce the number of allocations without over-
allocating. With an accurate allocation hint the builder will only allocate once. See
VertexInputLayoutAllocationHint for details.
pub fn add_buffer_slot(
&mut self,
stride: u8,
input_rate: InputRate
) -> VertexBufferSlotAttributeAttacher
[src]
&mut self,
stride: u8,
input_rate: InputRate
) -> VertexBufferSlotAttributeAttacher
Adds a vertex buffer binding slot to the layout.
pub fn finish(self) -> VertexInputLayoutDescriptor
[src]
Finishes building and returns the resulting VertexInputLayoutDescriptor.
Auto Trait Implementations
impl Send for VertexInputLayoutDescriptorBuilder
impl Unpin for VertexInputLayoutDescriptorBuilder
impl Sync for VertexInputLayoutDescriptorBuilder
impl UnwindSafe for VertexInputLayoutDescriptorBuilder
impl RefUnwindSafe for VertexInputLayoutDescriptorBuilder
Blanket Implementations
impl<D, T> IntoBuffer<T> for D where
D: Borrow<T> + 'static,
T: Copy + 'static,
[src]
D: Borrow<T> + 'static,
T: Copy + 'static,
fn into_buffer<Rc>(Self, &Rc, UsageHint) -> Buffer<T> where
Rc: RenderingContext + Clone + 'static,
[src]
Rc: RenderingContext + Clone + 'static,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,