Struct easy_opengl::buffers::VertexBuffer
source · pub struct VertexBuffer {
pub id: u32,
}
Expand description
A abstract representation of a vertex buffer
Example
let vertices = vec![
0.5, 0.5, 0.0, // top right
0.5, -0.5, 0.0, // bottom right
-0.5, -0.5, 0.0, // bottom left
-0.5, 0.5, 0.0, // top left
];
// static
let vbo1 = VertexBuffer::new(calc_bytes_size(&vertices) as isize, Some(&vertices));
// Dynamic
let vbo2 = VertexBuffer::new(calc_bytes_size(&vertices) as isize);
// send half of the vertices
vbo2.send_data(48 / 2, 0, vertices);
Fields
id: u32
Implementations
sourceimpl VertexBuffer
impl VertexBuffer
sourcepub fn new(size: isize, vertices: Option<&Vec<f32>>) -> Self
pub fn new(size: isize, vertices: Option<&Vec<f32>>) -> Self
Return a VertexBuffer with the allocated size provided, the buffer data is static only if the verticies isn’t None, else, the buffer data is dynamic
Arguments
size
- The size in bytes of the data to allocatevertices
- A optional data to write
sourcepub fn send_data(&self, size: isize, offset: isize, vertices: &Vec<f32>)
pub fn send_data(&self, size: isize, offset: isize, vertices: &Vec<f32>)
Write data that wasn’t provided on the new function
Arguments
size
- The size in bytes of the data to writeoffset
- Point to a offset in the allocated spacevertices
- Data to write
pub fn bind(&self)
pub fn unbind(&self)
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for VertexBuffer
impl Send for VertexBuffer
impl Sync for VertexBuffer
impl Unpin for VertexBuffer
impl UnwindSafe for VertexBuffer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more