Struct bevy_internal::core_pipeline::core_3d::Transparent3d
source · pub struct Transparent3d {
pub distance: f32,
pub pipeline: CachedRenderPipelineId,
pub entity: Entity,
pub draw_function: DrawFunctionId,
pub batch_range: Range<u32>,
pub dynamic_offset: Option<NonMaxU32>,
}
Fields§
§distance: f32
§pipeline: CachedRenderPipelineId
§entity: Entity
§draw_function: DrawFunctionId
§batch_range: Range<u32>
§dynamic_offset: Option<NonMaxU32>
Trait Implementations§
source§impl CachedRenderPipelinePhaseItem for Transparent3d
impl CachedRenderPipelinePhaseItem for Transparent3d
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 Transparent3d
impl PhaseItem for Transparent3d
§type SortKey = FloatOrd
type SortKey = FloatOrd
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 sort_key(&self) -> <Transparent3d as PhaseItem>::SortKey
fn sort_key(&self) -> <Transparent3d as PhaseItem>::SortKey
Determines the order in which the items are drawn.
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 [Transparent3d])
fn sort(items: &mut [Transparent3d])
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 Transparent3d
impl Send for Transparent3d
impl Sync for Transparent3d
impl Unpin for Transparent3d
impl UnwindSafe for Transparent3d
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.