#[repr(C)]pub struct IndirectParametersCpuMetadata {
pub base_output_index: u32,
pub batch_set_index: u32,
}
Expand description
A structure, initialized on CPU and read on GPU, that contains metadata about each batch.
Each batch will have one instance of this structure.
Fields§
§base_output_index: u32
The index of the first instance of this mesh in the array of
MeshUniform
s.
Note that this is the first output index in this batch. Since each
instance of this structure refers to arbitrarily many instances, the
MeshUniform
s corresponding to this batch span the indices
base_output_index..(base_output_index + instance_count)
.
batch_set_index: u32
The index of the batch set that this batch belongs to in the
IndirectBatchSet
buffer.
A batch set is a set of meshes that may be multi-drawn together.
Multiple batches (and therefore multiple instances of
IndirectParametersGpuMetadata
structures) can be part of the same
batch set.
Trait Implementations§
Source§impl Clone for IndirectParametersCpuMetadata
impl Clone for IndirectParametersCpuMetadata
Source§fn clone(&self) -> IndirectParametersCpuMetadata
fn clone(&self) -> IndirectParametersCpuMetadata
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl CreateFrom for IndirectParametersCpuMetadata
impl CreateFrom for IndirectParametersCpuMetadata
fn create_from<B: BufferRef>(reader: &mut Reader<B>) -> Self
Source§impl Default for IndirectParametersCpuMetadata
impl Default for IndirectParametersCpuMetadata
Source§fn default() -> IndirectParametersCpuMetadata
fn default() -> IndirectParametersCpuMetadata
Source§impl ShaderSize for IndirectParametersCpuMetadatawhere
u32: ShaderSize,
impl ShaderSize for IndirectParametersCpuMetadatawhere
u32: ShaderSize,
Source§const SHADER_SIZE: NonZero<u64> = _
const SHADER_SIZE: NonZero<u64> = _
ShaderType::min_size
)Source§impl ShaderType for IndirectParametersCpuMetadata
impl ShaderType for IndirectParametersCpuMetadata
Source§fn size(&self) -> NonZeroU64
fn size(&self) -> NonZeroU64
Self
at runtime Read moreSource§fn assert_uniform_compat()
fn assert_uniform_compat()
Self
meets the requirements of the
uniform address space restrictions on stored values and the
uniform address space layout constraints Read moreSource§impl WriteInto for IndirectParametersCpuMetadata
impl WriteInto for IndirectParametersCpuMetadata
fn write_into<B: BufferMut>(&self, writer: &mut Writer<B>)
impl Copy for IndirectParametersCpuMetadata
impl Pod for IndirectParametersCpuMetadata
Auto Trait Implementations§
impl Freeze for IndirectParametersCpuMetadata
impl RefUnwindSafe for IndirectParametersCpuMetadata
impl Send for IndirectParametersCpuMetadata
impl Sync for IndirectParametersCpuMetadata
impl Unpin for IndirectParametersCpuMetadata
impl UnwindSafe for IndirectParametersCpuMetadata
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more