pub trait SimpleBuffer<'a, T: NoUninit> {
// Required methods
fn new(renderer: Arc<Renderer<'a>>, limit: u64) -> Self;
fn buffer(&self) -> &Buffer;
fn renderer(&self) -> Arc<Renderer<'a>>;
fn limit(&self) -> u64;
// Provided methods
fn set(&self, index: u64, data: T) { ... }
fn set_all(&self, data: &[T]) { ... }
fn free_entry(&self, index: u64) { ... }
fn free(&self) { ... }
fn as_entrie(&self) -> BindingResource<'_> { ... }
}Expand description
Abstraction of a buffer
Required Methods§
Sourcefn new(renderer: Arc<Renderer<'a>>, limit: u64) -> Self
fn new(renderer: Arc<Renderer<'a>>, limit: u64) -> Self
create a new buffer with limit of objects inside the buffer
limit = size_of
fn renderer(&self) -> Arc<Renderer<'a>>
fn limit(&self) -> u64
Provided Methods§
Sourcefn free_entry(&self, index: u64)
fn free_entry(&self, index: u64)
Fill a entry with zeros
Sourcefn as_entrie(&self) -> BindingResource<'_>
fn as_entrie(&self) -> BindingResource<'_>
Converts the buffert to a binding resource
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<'a> SimpleBuffer<'a, DrawIndexedIndirectArgs> for DrawQueueBuffer<'a>
impl<'a> SimpleBuffer<'a, [[f32; 4]; 4]> for CameraBuffer<'a>
Available on crate feature
simple-buffers only.