Struct rin::gl::vao::simple_vao::SimpleVao[][src]

pub struct SimpleVao<T> { /* fields omitted */ }

Is a simplified version of VAO

It only allows relations of the type buffer <- attributes

It also holds a draw mode so it can be directly used as a VaoDraw

Implementations

impl<T> SimpleVao<T> where
    T: 'static, 
[src]

pub fn id(&self) -> u32[src]

GL id

pub fn range<R>(&self, range: R, mode: u32) -> Range<'_> where
    R: InputRange
[src]

Returns a Range which specifies a range of vertices and a drawing mode

Used to draw a portion of a Vao through a Context

pub fn range_base_vertex<R>(
    &self,
    range: R,
    base_vertex: i32,
    mode: u32
) -> Range<'_> where
    R: InputRange
[src]

Returns a Range which specifies a range of vertices and a drawing mode

Used to draw a portion of a VAO through a Context

base_vertex adds an offset to the indices See glDrawElementsBaseVertex

pub fn range_base_instance<R>(
    &self,
    range: R,
    base_instance: u32,
    mode: u32
) -> Range<'_> where
    R: InputRange
[src]

Returns a Range which specifies a range of vertices and a drawing mode

Used to draw a portion of a VAO through a Context

base_instance adds an offset to the instanced attributes index See glDrawArraysInstancedBaseInstance

pub fn range_base_vertex_base_instance<R>(
    &self,
    range: R,
    base_vertex: i32,
    base_instance: u32,
    mode: u32
) -> Range<'_> where
    R: InputRange
[src]

Returns a Range which specifies a range of vertices and a drawing mode

Used to draw a portion of a VAO through a Context

  • base_vertex adds an offset to the indices
  • base_instance adds an offset to the instanced attributes index

See glDrawElementsBaseVertexBaseInstance

pub fn full_range(&self) -> Range<'_>[src]

Returns the full range of the SimpleVao vertices

Used to draw the full SimpleVao through a Context

pub fn full_range_base_vertex(&self, base_vertex: i32) -> Range<'_>[src]

Returns the full range of the SimpleVao vertices

Used to draw the full SimpleVao through a Context base_vertex adds an offset to the indices See glDrawElementsBaseVertex

pub fn full_range_base_instance(&self, base_instance: u32) -> Range<'_>[src]

Returns the full range of the SimpleVao vertices

Used to draw the full SimpleVao through a Context base_vertex adds an offset to the indices See glDrawArraysInstancedBaseInstance

pub fn full_range_base_vertex_base_instance(
    &self,
    base_vertex: i32,
    base_instance: u32
) -> Range<'_>
[src]

Returns the full range of the SimpleVao vertices

Used to draw the full SimpleVao through a Context

  • base_vertex adds an offset to the indices
  • base_instance adds an offset to the instanced attributes index

See glDrawElementsBaseVertexBaseInstance

pub fn into_range<R>(self, range: R) -> IntoRange where
    R: InputRange
[src]

Consumes the SimpleVao into a range

pub fn into_range_base_vertex<R>(self, range: R, base_vertex: i32) -> IntoRange where
    R: InputRange
[src]

Consumes the SimpleVao into a range

base_vertex adds an offset to the indices See glDrawElementsBaseVertex

pub fn into_range_base_instance<R>(
    self,
    range: R,
    base_instance: u32
) -> IntoRange where
    R: InputRange
[src]

Consumes the SimpleVao into a range

base_instance adds an offset to the instanced attributes index See glDrawArraysInstancedBaseInstance

pub fn into_range_base_vertex_base_instance<R>(
    self,
    range: R,
    base_vertex: i32,
    base_instance: u32
) -> IntoRange where
    R: InputRange
[src]

Consumes the SimpleVao into a range

  • base_vertex adds an offset to the indices
  • base_instance adds an offset to the instanced attributes index

See glDrawElementsBaseVertexBaseInstance

pub fn into_full_range(self) -> IntoRange[src]

Consumes the SimpleVao into it’s full range

pub fn into_full_range_base_vertex(self, base_vertex: i32) -> IntoRange[src]

Consumes the SimpleVao into it’s full range

base_vertex adds an offset to the indices See glDrawElementsBaseVertex

pub fn into_full_range_base_instance(self, base_instance: u32) -> IntoRange[src]

Consumes the SimpleVao into it’s full range

base_instance adds an offset to the instanced attributes index See glDrawArraysBaseInstance

pub fn into_full_range_base_vertex_base_instance(
    self,
    base_vertex: i32,
    base_instance: u32
) -> IntoRange
[src]

Consumes the SimpleVao into it’s full range

  • base_vertex adds an offset to the indices
  • base_instance adds an offset to the instanced attributes index

See glDrawElementsBaseVertexBaseInstance

pub fn buffer(&self) -> &Buffer<T>[src]

Reference to the internal buffer

pub fn buffer_mut(&mut self) -> &mut Buffer<T>[src]

Mutable reference to the internal buffer

pub fn load<'a, D>(&mut self, data: D, usage: u32) where
    D: Into<Data<'a, T>>, 
[src]

Load data into the internal buffer and indices (re)allocating them

pub fn load_vertices<V>(&mut self, data: V, usage: u32) where
    V: AsRef<[T]>, 
[src]

Load vertices into the internal buffer (re)allocating it

pub fn load_indices(&mut self, indices: &[u32], usage: u32) -> Result<(), Error>[src]

Load indices into the internal buffer (re)allocating it

pub fn update_vertices<V>(&mut self, data: V) where
    V: AsRef<[T]>, 
[src]

Update the vertices in the internal buffer

Will panic if the capacity of the buffer is not enough to hold the passed data

pub fn update_indices(&mut self, indices: &[u32])[src]

Update the indices in the internal buffer

Will panic if the capacity of the buffer is not enough to hold the passed data

pub fn enable(&mut self, attr_name: &str) -> Result<(), Error>[src]

Enable an attribute by name

pub fn disable(&mut self, attr_name: &str) -> Result<(), Error>[src]

Disable an attribute by name

pub fn enable_indices(&mut self)[src]

Enable the indices in the VAO

pub fn disable_indices(&mut self)[src]

Disable the indices in the VAO

pub fn len(&self) -> usize[src]

Returns the len of the internal vertex buffer

pub fn len_indices(&self) -> usize[src]

Returns the len of the internal index buffer

pub fn is_empty(&self) -> bool[src]

pub fn mode(&self) -> u32[src]

Returns the draw mode

pub fn capacity(&self) -> usize[src]

Returns the capacity of the internal vertex buffer

pub fn capacity_indices(&self) -> usize[src]

Returns the capacity of the internal index buffer

pub fn set_mode(&mut self, mode: u32)[src]

Change the draw mode

pub fn into_vao(self) -> Vao[src]

Trait Implementations

impl<T> Debug for SimpleVao<T>[src]

impl<T> PartialEq<SimpleVao<T>> for SimpleVao<T>[src]

impl<'a, T> VaoDraw for &'a mut SimpleVao<T>[src]

impl<'a, T> VaoDraw for &'a SimpleVao<T>[src]

impl<'a, T> VaoRange for &'a mut SimpleVao<T>[src]

impl<'a, T> VaoRange for &'a SimpleVao<T>[src]

impl<T> Eq for SimpleVao<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for SimpleVao<T>

impl<T> !Send for SimpleVao<T>

impl<T> !Sync for SimpleVao<T>

impl<T> Unpin for SimpleVao<T> where
    T: Unpin

impl<T> !UnwindSafe for SimpleVao<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]