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]
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]