pub struct Permutation { /* private fields */ }Expand description
The permutation of a buffer containing vertex attribute data. The Permutation maps the layout of an input buffer’s fields to the input registers used in the picasso shader.
Implementations§
Source§impl Permutation
impl Permutation
Sourcepub fn from_layout(layout: &[Register]) -> Result<Self, Error>
pub fn from_layout(layout: &[Register]) -> Result<Self, Error>
Construct the permutation for a buffer whos fields (in order) correspond to the provided list of input registers (as used in the picasso shader).
§Example
§Picasso
; Inputs (defined as aliases for convenience)
.alias inpos v0 ; fvec3
.alias innorm v1 ; fvec3
.alias intex v2 ; fvec2§Rust
struct Vertex {
pos: [f32; 3],
tex: [f32; 2],
}
impl Vertex {
pub fn permutation() -> Permutation {
Permutation::from_layout(&[Register::V0, Register::V2]).unwrap()
}
}
struct Normal {
norm: [f32; 3],
}
impl Normal {
pub fn permutation() -> Permutation {
Permutation::from_layout(&[Register::V1]).unwrap()
}
}§Errors
- If more than 16 attribute registers are provided (i.e.
layout.len() > 16)
Trait Implementations§
Source§impl Clone for Permutation
impl Clone for Permutation
Source§fn clone(&self) -> Permutation
fn clone(&self) -> Permutation
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Permutation
impl Debug for Permutation
impl Copy for Permutation
Auto Trait Implementations§
impl Freeze for Permutation
impl RefUnwindSafe for Permutation
impl Send for Permutation
impl Sync for Permutation
impl Unpin for Permutation
impl UnwindSafe for Permutation
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)