Skip to main content

SimpleBuffer

Trait SimpleBuffer 

Source
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§

Source

fn new(renderer: Arc<Renderer<'a>>, limit: u64) -> Self

create a new buffer with limit of objects inside the buffer limit = size_of() * limit;

Source

fn buffer(&self) -> &Buffer

Gets the buffer

Source

fn renderer(&self) -> Arc<Renderer<'a>>

Source

fn limit(&self) -> u64

Provided Methods§

Source

fn set(&self, index: u64, data: T)

Sets a unic entry inside the buffer

Source

fn set_all(&self, data: &[T])

Sets all the buffer

Source

fn free_entry(&self, index: u64)

Fill a entry with zeros

Source

fn free(&self)

Fill all the buffer with zeros

Source

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§

Source§

impl<'a> SimpleBuffer<'a, DrawIndexedIndirectArgs> for DrawQueueBuffer<'a>

Source§

impl<'a> SimpleBuffer<'a, [[f32; 4]; 4]> for CameraBuffer<'a>

Available on crate feature simple-buffers only.