Trait glitter::vertex_buffer::ContextVertexBufferExt  
                   
                       [−]
                   
               [src]
pub trait ContextVertexBufferExt: AContext {
    fn new_vertex_buffer<V: VertexData>(&self) -> VertexBuffer<V> { ... }
    fn buffer_vertices<T>(
        &self, 
        gl_vbo: &mut VertexBufferBinding<T>, 
        vertices: &[T], 
        usage: BufferDataUsage
    )
    where
        T: VertexData,
        [T]: VertexBytes,
    { ... }
    fn buffer_indices<T>(
        &self, 
        gl_ibo: &mut IndexBufferBinding<T>, 
        indices: &[T], 
        usage: BufferDataUsage
    )
    where
        T: IndexDatum,
        [T]: IndexData,
    { ... }
    fn draw_arrays_range_vbo<V>(
        &self, 
        gl_vbo: &VertexBufferBinding<V>, 
        mode: DrawingMode, 
        start: u32, 
        length: usize
    )
    where
        V: VertexData,
    { ... }
    fn draw_arrays_vbo<V>(
        &self, 
        gl_vbo: &VertexBufferBinding<V>, 
        mode: DrawingMode
    )
    where
        V: VertexData,
    { ... }
    fn draw_n_elements_buffered_vbo<V, I>(
        &self, 
        gl_vbo: &VertexBufferBinding<V>, 
        gl_ibo: &IndexBufferBinding<I>, 
        mode: DrawingMode, 
        length: usize
    )
    where
        V: VertexData,
        I: IndexDatum,
    { ... }
    fn draw_elements_buffered_vbo<V, I>(
        &self, 
        gl_vbo: &VertexBufferBinding<V>, 
        gl_ibo: &IndexBufferBinding<I>, 
        mode: DrawingMode
    )
    where
        V: VertexData,
        I: IndexDatum,
    { ... }
    fn draw_n_elements_vbo<V, I>(
        &self, 
        gl_vbo: &VertexBufferBinding<V>, 
        mode: DrawingMode, 
        count: usize, 
        indices: &[I]
    )
    where
        V: VertexData,
        I: IndexDatum,
        [I]: IndexData,
    { ... }
    fn draw_elements_vbo<V, I>(
        &mut self, 
        gl_vbo: &VertexBufferBinding<V>, 
        mode: DrawingMode, 
        indices: &[I]
    )
    where
        V: VertexData,
        I: IndexDatum,
        [I]: IndexData,
    { ... }
}An extension trait that adds vertex buffer and index buffer-related methods to OpenGL contexts.
Provided Methods
fn new_vertex_buffer<V: VertexData>(&self) -> VertexBuffer<V>
Create a new, empty vertex buffer.
fn buffer_vertices<T>(
    &self, 
    gl_vbo: &mut VertexBufferBinding<T>, 
    vertices: &[T], 
    usage: BufferDataUsage
) where
    T: VertexData,
    [T]: VertexBytes, 
&self,
gl_vbo: &mut VertexBufferBinding<T>,
vertices: &[T],
usage: BufferDataUsage
) where
T: VertexData,
[T]: VertexBytes,
Send data to a vertex buffer. Note that this will replace the buffer's current contents, if any.
fn buffer_indices<T>(
    &self, 
    gl_ibo: &mut IndexBufferBinding<T>, 
    indices: &[T], 
    usage: BufferDataUsage
) where
    T: IndexDatum,
    [T]: IndexData, 
&self,
gl_ibo: &mut IndexBufferBinding<T>,
indices: &[T],
usage: BufferDataUsage
) where
T: IndexDatum,
[T]: IndexData,
Send data to an index buffer. Note that this will replace the buffer's current contents, if any.
fn draw_arrays_range_vbo<V>(
    &self, 
    gl_vbo: &VertexBufferBinding<V>, 
    mode: DrawingMode, 
    start: u32, 
    length: usize
) where
    V: VertexData, 
&self,
gl_vbo: &VertexBufferBinding<V>,
mode: DrawingMode,
start: u32,
length: usize
) where
V: VertexData,
Use the data from the provided vertex buffer binding to render primitives.
gl_vbo: The binding of the vertex buffer to read vertices from.mode: The type of primitives to draw.start: The index of the first vertex to draw.length: The number of vertices to draw.
Panics
This function will panic if the start and length are out
of bounds of the currently-buffered data.
fn draw_arrays_vbo<V>(&self, gl_vbo: &VertexBufferBinding<V>, mode: DrawingMode) where
    V: VertexData, 
V: VertexData,
Use the data from the provided vertex buffer binding to render primitives. This function will use the full range of vertices that have been buffered.
gl_vbo: The binding of the vertex buffer to read vertices from.mode: The type of primitives to draw.
fn draw_n_elements_buffered_vbo<V, I>(
    &self, 
    gl_vbo: &VertexBufferBinding<V>, 
    gl_ibo: &IndexBufferBinding<I>, 
    mode: DrawingMode, 
    length: usize
) where
    V: VertexData,
    I: IndexDatum, 
&self,
gl_vbo: &VertexBufferBinding<V>,
gl_ibo: &IndexBufferBinding<I>,
mode: DrawingMode,
length: usize
) where
V: VertexData,
I: IndexDatum,
Draw primitives using the provided index buffer as the indices into the provided vertex buffer.
gl_vbo: The binding of the buffer that contains the vertex data.gl_ibo: The binding of the buffer that contains the index data.mode: The type of primitives to draw.length: The number of indices to read.
fn draw_elements_buffered_vbo<V, I>(
    &self, 
    gl_vbo: &VertexBufferBinding<V>, 
    gl_ibo: &IndexBufferBinding<I>, 
    mode: DrawingMode
) where
    V: VertexData,
    I: IndexDatum, 
&self,
gl_vbo: &VertexBufferBinding<V>,
gl_ibo: &IndexBufferBinding<I>,
mode: DrawingMode
) where
V: VertexData,
I: IndexDatum,
Draw primitives using the provided index buffer as the indices into the provided vertex buffer. All buffered indices will be used.
gl_vbo: The binding of the buffer that contains the vertex data.gl_ibo: The binding of the buffer that contains the index data.mode: The type of primitives to draw.
fn draw_n_elements_vbo<V, I>(
    &self, 
    gl_vbo: &VertexBufferBinding<V>, 
    mode: DrawingMode, 
    count: usize, 
    indices: &[I]
) where
    V: VertexData,
    I: IndexDatum,
    [I]: IndexData, 
&self,
gl_vbo: &VertexBufferBinding<V>,
mode: DrawingMode,
count: usize,
indices: &[I]
) where
V: VertexData,
I: IndexDatum,
[I]: IndexData,
Draw primitives specified by the provided index array, treated as indices into the provided vertex buffer.
gl_vbo: The binding of the buffer that contains the vertex data.mode: The type of primitives to draw.count: The number of indices to read.indices: The index array to use.
fn draw_elements_vbo<V, I>(
    &mut self, 
    gl_vbo: &VertexBufferBinding<V>, 
    mode: DrawingMode, 
    indices: &[I]
) where
    V: VertexData,
    I: IndexDatum,
    [I]: IndexData, 
&mut self,
gl_vbo: &VertexBufferBinding<V>,
mode: DrawingMode,
indices: &[I]
) where
V: VertexData,
I: IndexDatum,
[I]: IndexData,
Draw primitives specified by the provided index array, treated as indices into the provided vertex buffer.
gl_vbo: The binding of the buffer that contains the vertex data.mode: The type of primitives to draw.indices: The index array to use.
Implementors
impl<C: AContext> ContextVertexBufferExt for C