#[repr(C)]pub struct MeshCullingData {
pub aabb_center: Vec4,
pub aabb_half_extents: Vec4,
}Expand description
Information about each mesh instance needed to cull it on GPU.
This consists of its axis-aligned bounding box (AABB).
Fields§
§aabb_center: Vec4The 3D center of the AABB in model space, padded with an extra unused float value.
aabb_half_extents: Vec4The 3D extents of the AABB in model space, divided by two, padded with an extra unused float value.
Trait Implementations§
Source§impl AtomicPod for MeshCullingData
impl AtomicPod for MeshCullingData
Source§type Blob = MeshCullingDataBlob
type Blob = MeshCullingDataBlob
The blob type that allows shared mutation. Read more
Source§fn read_from_blob(blob: &Self::Blob) -> Self
fn read_from_blob(blob: &Self::Blob) -> Self
Produces a value of this type from the blob, typically by reading its
fields one after another atomically.
Source§fn write_to_blob(&self, blob: &Self::Blob)
fn write_to_blob(&self, blob: &Self::Blob)
Copies the
self value to the blob, typically by writing its fields one
after another atomically. Read moreSource§impl Clone for MeshCullingData
impl Clone for MeshCullingData
Source§fn clone(&self) -> MeshCullingData
fn clone(&self) -> MeshCullingData
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MeshCullingData
Source§impl CreateFrom for MeshCullingData
impl CreateFrom for MeshCullingData
fn create_from<B: BufferRef>(reader: &mut Reader<B>) -> Self
Source§impl Default for MeshCullingData
impl Default for MeshCullingData
Source§fn default() -> MeshCullingData
fn default() -> MeshCullingData
Returns the “default value” for a type. Read more
Source§impl<'a> From<&'a MeshCullingData> for MeshCullingDataBlob
impl<'a> From<&'a MeshCullingData> for MeshCullingDataBlob
Source§fn from(pod: &'a MeshCullingData) -> Self
fn from(pod: &'a MeshCullingData) -> Self
Converts to this type from the input type.
impl Pod for MeshCullingData
Source§impl ReadFrom for MeshCullingData
impl ReadFrom for MeshCullingData
Source§impl ShaderSize for MeshCullingDatawhere
Vec4: ShaderSize,
impl ShaderSize for MeshCullingDatawhere
Vec4: ShaderSize,
Source§const SHADER_SIZE: NonZero<u64> = _
const SHADER_SIZE: NonZero<u64> = _
Represents WGSL Size (equivalent to
ShaderType::min_size)Source§impl ShaderType for MeshCullingData
impl ShaderType for MeshCullingData
Source§fn size(&self) -> NonZeroU64
fn size(&self) -> NonZeroU64
Returns the size of
Self at runtime Read moreSource§fn assert_uniform_compat()
fn assert_uniform_compat()
Asserts that
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 MeshCullingData
impl WriteInto for MeshCullingData
fn write_into<B: BufferMut>(&self, writer: &mut Writer<B>)
Auto Trait Implementations§
impl Freeze for MeshCullingData
impl RefUnwindSafe for MeshCullingData
impl Send for MeshCullingData
impl Sync for MeshCullingData
impl Unpin for MeshCullingData
impl UnsafeUnpin for MeshCullingData
impl UnwindSafe for MeshCullingData
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
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
Return the
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
If this function returns true, then it must be valid to reinterpret
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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> FromTemplate for T
impl<T> FromTemplate 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().
impl<T> GpuArrayBufferable for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
impl<T> NoUninit for Twhere
T: Pod,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Settings for T
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
Uses this template and the given
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clones this template. See
Clone.Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.