pub struct Sizer { /* private fields */ }Expand description
Type that computes the buffer size needed by a series of std430 types laid
out.
This type works well well when paired with Writer, precomputing a buffer’s
size to alleviate the need to dynamically re-allocate buffers.
§Example
struct Frob {
vec3 size;
float frobiness;
}
buffer FROBS {
uint len;
Frob[] frobs;
} frobs;use bevy_crevice::std430::{self, AsStd430};
#[derive(AsStd430)]
struct Frob {
size: mint::Vector3<f32>,
frobiness: f32,
}
// Many APIs require that buffers contain at least enough space for all
// fixed-size bindiongs to a buffer as well as one element of any arrays, if
// there are any.
let mut sizer = std430::Sizer::new();
sizer.add::<u32>();
sizer.add::<Frob>();
let buffer = create_buffer_with_size(sizer.len());Implementations§
Auto Trait Implementations§
impl Freeze for Sizer
impl RefUnwindSafe for Sizer
impl Send for Sizer
impl Sync for Sizer
impl Unpin for Sizer
impl UnwindSafe for Sizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more