Struct rin::gl::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]
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]
R: InputRange,
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]
&self,
range: R,
base_vertex: i32,
mode: u32
) -> Range<'_> where
R: InputRange,
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]
&self,
range: R,
base_instance: u32,
mode: u32
) -> Range<'_> where
R: InputRange,
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]
&self,
range: R,
base_vertex: i32,
base_instance: u32,
mode: u32
) -> Range<'_> where
R: InputRange,
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]
&self,
base_vertex: i32,
base_instance: u32
) -> Range<'_>
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]
R: InputRange,
Consumes the SimpleVao into a range
pub fn into_range_base_vertex<R>(self, range: R, base_vertex: i32) -> IntoRange where
R: InputRange, [src]
R: InputRange,
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]
self,
range: R,
base_instance: u32
) -> IntoRange where
R: InputRange,
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]
self,
range: R,
base_vertex: i32,
base_instance: u32
) -> IntoRange where
R: InputRange,
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]
self,
base_vertex: i32,
base_instance: u32
) -> IntoRange
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]
D: Into<Data<'a, T>>,
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]
V: AsRef<[T]>,
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]
V: AsRef<[T]>,
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<'a, T> VaoRange for &'a mut SimpleVao<T>[src]
impl<'a, T> VaoRange for &'a mut SimpleVao<T>[src]pub fn id(&self) -> u32[src]
pub fn start(&self) -> usize[src]
pub fn end(&self) -> usize[src]
pub fn count(&self) -> usize[src]
pub fn num_indices(&self) -> usize[src]
pub fn num_vertices(&self) -> usize[src]
pub fn has_indices(&self) -> bool[src]
pub fn base_vertex(&self) -> Option<i32>[src]
pub fn base_instance(&self) -> Option<u32>[src]
impl<'a, T> VaoRange for &'a SimpleVao<T>[src]
impl<'a, T> VaoRange for &'a SimpleVao<T>[src]pub fn id(&self) -> u32[src]
pub fn start(&self) -> usize[src]
pub fn end(&self) -> usize[src]
pub fn count(&self) -> usize[src]
pub fn num_indices(&self) -> usize[src]
pub fn num_vertices(&self) -> usize[src]
pub fn has_indices(&self) -> bool[src]
pub fn base_vertex(&self) -> Option<i32>[src]
pub fn base_instance(&self) -> Option<u32>[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,
T: Unpin,
impl<T> !UnwindSafe for SimpleVao<T>
Blanket Implementations
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]pub fn equivalent(&self, key: &K) -> bool[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]pub fn to_subset(&self) -> Option<SS>[src]
pub fn is_in_subset(&self) -> bool[src]
pub fn to_subset_unchecked(&self) -> SS[src]
pub fn from_subset(element: &SS) -> SP[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]