pub struct MeshShader { /* private fields */ }Expand description
A mesh program ready to run.
Implementations§
Source§impl MeshShader
impl MeshShader
Sourcepub fn facts(&self) -> MeshFacts
pub fn facts(&self) -> MeshFacts
What the program states: the kind of primitive it writes and the most vertices and primitives a group writes.
Sourcepub fn group_size(&self) -> [u32; 3]
pub fn group_size(&self) -> [u32; 3]
The thread group’s invocations along each axis.
Sourcepub fn outputs(&self) -> impl Iterator<Item = &str>
pub fn outputs(&self) -> impl Iterator<Item = &str>
The names of the output varyings: the registers of the vertices of a Meshlet, in order.
Sourcepub fn draw(
&self,
constants: &Constants,
sampler: &mut dyn Sampler,
groups: [u32; 3],
wave: u32,
) -> Result<Vec<Meshlet>, Error>
pub fn draw( &self, constants: &Constants, sampler: &mut dyn Sampler, groups: [u32; 3], wave: u32, ) -> Result<Vec<Meshlet>, Error>
Run groups thread groups (wave the wave width the wave operations report) and return the meshlet each wrote,
in the order of the dispatch (x, then y, then z). constants holds the rows of the constant buffers by
(register, space); image and buffer access go to sampler by bind slot.
Trait Implementations§
Auto Trait Implementations§
impl Forget for MeshShader
impl Freeze for MeshShader
impl RefUnwindSafe for MeshShader
impl Send for MeshShader
impl Sync for MeshShader
impl Unpin for MeshShader
impl UnsafeUnpin for MeshShader
impl UnwindSafe for MeshShader
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