Trait rin::gl::buffer_object::TypedBufferObject [−][src]
pub trait TypedBufferObject<T> { fn id(&self) -> u32; fn len(&self) -> usize; fn capacity(&self) -> usize; fn map_read<F>(&self, flags: MapReadFlags, f: F) -> Result<(), Error>
where
F: Fn(&[T]); fn copy_to<U, B>(&self, dst: &mut B)
where
B: BufferRange<U> + WithBackendMut<T>; fn bytes(&self) -> usize { ... } fn capacity_bytes(&self) -> usize { ... } fn stride(&self) -> usize { ... } }
Buffer object with a type
Required Methods
fn id(&self) -> u32
OpenGL id
fn len(&self) -> usize
Number of elements on the last update
fn capacity(&self) -> usize
Allocated capacity of the buffer in number of elements
fn map_read<F>(&self, flags: MapReadFlags, f: F) -> Result<(), Error> where
F: Fn(&[T]),
F: Fn(&[T]),
Maps a buffer object's data store
Pass a closure that receives the mapped buffer to access it
see glMapBuffer
fn copy_to<U, B>(&self, dst: &mut B) where
B: BufferRange<U> + WithBackendMut<T>,
B: BufferRange<U> + WithBackendMut<T>,
Copy one buffer into another
Provided Methods
fn bytes(&self) -> usize
Total bytes on the last update
fn capacity_bytes(&self) -> usize
Total capcacity of the buffer in bytes
fn stride(&self) -> usize
Stride of the buffer type
Implementors
impl<T> TypedBufferObject<T> for BufferObjectImmutable<T> where
T: 'static,impl<T, B, BB> TypedBufferObject<T> for Range<T, B, BB> where
B: TypedBufferObject<T> + WithBackend<T> + MapRange<T>,
BB: Borrow<B>,
T: 'static,impl<'a, T> TypedBufferObject<T> for BufferObject<T> where
T: 'static,impl<T> TypedBufferObject<T> for SharedBuffer<T> where
T: 'static,impl<T> TypedBufferObject<T> for SharedBufferImmutable<T> where
T: 'static,