Struct rin::gl::buffer_object::SharedBuffer [−][src]
pub struct SharedBuffer<T> { /* fields omitted */ }
Wrapper around a BufferObject with internal reference counting
Useful for example when the same buffer or ranges of the same buffer are to be used in different VAOs
Methods
impl<T> SharedBuffer<T> where
T: 'static,
[src]
impl<T> SharedBuffer<T> where
T: 'static,
pub fn load(&mut self, data: &[T], usage: u32)
[src]
pub fn load(&mut self, data: &[T], usage: u32)
pub fn update(&mut self, data: &[T])
[src]
pub fn update(&mut self, data: &[T])
pub fn map_read<F>(&self, flags: MapReadFlags, f: F) -> Result<(), Error> where
F: Fn(&[T]),
[src]
pub fn map_read<F>(&self, flags: MapReadFlags, f: F) -> Result<(), Error> where
F: Fn(&[T]),
pub fn map_write<F>(&mut self, flags: MapWriteFlags, f: F) -> Result<(), Error> where
F: Fn(&mut [T]),
[src]
pub fn map_write<F>(&mut self, flags: MapWriteFlags, f: F) -> Result<(), Error> where
F: Fn(&mut [T]),
pub fn map_read_write<F>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<(), Error> where
F: Fn(&mut [T]),
[src]
pub fn map_read_write<F>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<(), Error> where
F: Fn(&mut [T]),
pub fn copy_to<U, B>(&self, dst: &mut B) where
B: BufferRange<U> + WithBackendMut<T>,
[src]
pub fn copy_to<U, B>(&self, dst: &mut B) where
B: BufferRange<U> + WithBackendMut<T>,
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
pub fn bytes(&self) -> usize
[src]
pub fn bytes(&self) -> usize
pub fn capacity_bytes(&self) -> usize
[src]
pub fn capacity_bytes(&self) -> usize
pub fn id(&self) -> u32
[src]
pub fn id(&self) -> u32
pub fn stride(&self) -> usize
[src]
pub fn stride(&self) -> usize
pub fn range<R>(&self, range: R) -> Range<T, SharedBuffer<T>, SharedBuffer<T>> where
R: InputRange,
[src]
pub fn range<R>(&self, range: R) -> Range<T, SharedBuffer<T>, SharedBuffer<T>> where
R: InputRange,
pub fn range_mut<R>(
&mut self,
range: R
) -> Range<T, SharedBuffer<T>, SharedBuffer<T>> where
R: InputRange,
[src]
pub fn range_mut<R>(
&mut self,
range: R
) -> Range<T, SharedBuffer<T>, SharedBuffer<T>> where
R: InputRange,
Get a mutable range from the buffer
Useful to do operations on portions of the buffer
Panics if the range is out of bounds
Trait Implementations
impl<T> BufferRangeMut<T> for SharedBuffer<T> where
T: 'static,
[src]
impl<T> BufferRangeMut<T> for SharedBuffer<T> where
T: 'static,
impl<T> BufferRange<T> for SharedBuffer<T> where
T: 'static,
[src]
impl<T> BufferRange<T> for SharedBuffer<T> where
T: 'static,
impl<'a, T> TypedBufferObjectMut<T> for SharedBuffer<T> where
T: 'static,
[src]
impl<'a, T> TypedBufferObjectMut<T> for SharedBuffer<T> where
T: 'static,
fn map_write<F>(&mut self, flags: MapWriteFlags, f: F) -> Result<(), Error> where
F: Fn(&mut [T]),
[src]
fn map_write<F>(&mut self, flags: MapWriteFlags, f: F) -> Result<(), Error> where
F: Fn(&mut [T]),
Maps a buffer object's data store Read more
fn map_read_write<F>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<(), Error> where
F: Fn(&mut [T]),
[src]
fn map_read_write<F>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<(), Error> where
F: Fn(&mut [T]),
Maps a buffer object's data store Read more
impl<T> TypedBufferObject<T> for SharedBuffer<T> where
T: 'static,
[src]
impl<T> TypedBufferObject<T> for SharedBuffer<T> where
T: 'static,
fn id(&self) -> u32
[src]
fn id(&self) -> u32
OpenGL id
fn len(&self) -> usize
[src]
fn len(&self) -> usize
Number of elements on the last update
fn capacity(&self) -> usize
[src]
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]),
[src]
fn map_read<F>(&self, flags: MapReadFlags, f: F) -> Result<(), Error> where
F: Fn(&[T]),
Maps a buffer object's data store Read more
fn copy_to<U, B>(&self, dst: &mut B) where
B: BufferRange<U> + WithBackendMut<T>,
[src]
fn copy_to<U, B>(&self, dst: &mut B) where
B: BufferRange<U> + WithBackendMut<T>,
Copy one buffer into another
fn bytes(&self) -> usize
[src]
fn bytes(&self) -> usize
Total bytes on the last update
fn capacity_bytes(&self) -> usize
[src]
fn capacity_bytes(&self) -> usize
Total capcacity of the buffer in bytes
fn stride(&self) -> usize
[src]
fn stride(&self) -> usize
Stride of the buffer type
impl<T> Clone for SharedBuffer<T>
[src]
impl<T> Clone for SharedBuffer<T>
fn clone(&self) -> SharedBuffer<T>
[src]
fn clone(&self) -> SharedBuffer<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T> Debug for SharedBuffer<T> where
T: Debug,
[src]
impl<T> Debug for SharedBuffer<T> where
T: Debug,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<T> Eq for SharedBuffer<T> where
T: Eq,
[src]
impl<T> Eq for SharedBuffer<T> where
T: Eq,
impl<T> PartialEq<SharedBuffer<T>> for SharedBuffer<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<SharedBuffer<T>> for SharedBuffer<T> where
T: PartialEq<T>,
fn eq(&self, other: &SharedBuffer<T>) -> bool
[src]
fn eq(&self, other: &SharedBuffer<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &SharedBuffer<T>) -> bool
[src]
fn ne(&self, other: &SharedBuffer<T>) -> bool
This method tests for !=
.
Auto Trait Implementations
impl<T> !Send for SharedBuffer<T>
impl<T> !Send for SharedBuffer<T>
impl<T> !Sync for SharedBuffer<T>
impl<T> !Sync for SharedBuffer<T>