pub struct Shadow {
pub distance: f32,
pub entity: Entity,
pub pipeline: CachedRenderPipelineId,
pub draw_function: DrawFunctionId,
pub batch_range: Range<u32>,
pub dynamic_offset: Option<NonMaxU32>,
}
Fields§
§distance: f32
§entity: Entity
§pipeline: CachedRenderPipelineId
§draw_function: DrawFunctionId
§batch_range: Range<u32>
§dynamic_offset: Option<NonMaxU32>
Trait Implementations§
source§impl CachedRenderPipelinePhaseItem for Shadow
impl CachedRenderPipelinePhaseItem for Shadow
source§fn cached_pipeline(&self) -> CachedRenderPipelineId
fn cached_pipeline(&self) -> CachedRenderPipelineId
The id of the render pipeline, cached in the
PipelineCache
, that will be used to draw
this phase item.source§impl PhaseItem for Shadow
impl PhaseItem for Shadow
§type SortKey = usize
type SortKey = usize
The type used for ordering the items. The smallest values are drawn first.
This order can be calculated using the
ViewRangefinder3d
,
based on the view-space Z
value of the corresponding view matrix.source§fn draw_function(&self) -> DrawFunctionId
fn draw_function(&self) -> DrawFunctionId
Specifies the
Draw
function used to render the item.source§fn sort(items: &mut [Self])
fn sort(items: &mut [Self])
Sorts a slice of phase items into render order. Generally if the same type
is batched this should use a stable sort like
slice::sort_by_key
.
In almost all other cases, this should not be altered from the default,
which uses a unstable sort, as this provides the best balance of CPU and GPU
performance. Read moresource§fn batch_range(&self) -> &Range<u32>
fn batch_range(&self) -> &Range<u32>
The range of instances that the batch covers. After doing a batched draw, batch range
length phase items will be skipped. This design is to avoid having to restructure the
render phase unnecessarily.
fn batch_range_mut(&mut self) -> &mut Range<u32>
fn dynamic_offset(&self) -> Option<NonMaxU32>
fn dynamic_offset_mut(&mut self) -> &mut Option<NonMaxU32>
source§const AUTOMATIC_BATCHING: bool = true
const AUTOMATIC_BATCHING: bool = true
Whether or not this
PhaseItem
should be subjected to automatic batching. (Default: true
)Auto Trait Implementations§
impl RefUnwindSafe for Shadow
impl Send for Shadow
impl Sync for Shadow
impl Unpin for Shadow
impl UnwindSafe for Shadow
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<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> 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
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>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<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>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.