pub enum LightIssueKind {
Show 14 variants
ZeroMask,
MaskBeyondLayerRange {
dropped: u32,
},
NonFinitePosition,
NonFiniteValue,
NonFiniteAmbient,
ZeroExtent,
StopsEmpty,
TooManyStops {
count: usize,
max: usize,
},
StopNotFinite,
StopOutOfRange {
at: f32,
},
StopsNotAscending {
at: f32,
previous: f32,
},
OverLightBudget {
max: usize,
},
ShadowCastersExhausted {
used: usize,
dropped: usize,
},
ShadowVertexBudget {
needed: usize,
max: usize,
},
}Expand description
Why a light was dropped or altered for the frame.
Variants§
ZeroMask
light_mask was 0: it lights nothing.
MaskBeyondLayerRange
Mask bits at or above MAX_LIGHT_LAYERS were dropped.
NonFinitePosition
A position that is not finite.
NonFiniteValue
A colour, energy, or texture offset that is not finite.
NonFiniteAmbient
The ambient light’s colour or energy is not finite; it is treated as
black for the frame. Reported with source == usize::MAX.
ZeroExtent
radius (stops) or half_extent (texture) is not a positive, finite
extent, so the light has no footprint.
StopsEmpty
A stops falloff with no stops.
TooManyStops
More stops than MAX_FALLOFF_STOPS.
StopNotFinite
A stop’s at was not finite.
StopOutOfRange
A stop’s at was outside 0..=1.
StopsNotAscending
A stop’s at did not ascend.
OverLightBudget
More lights than LightBudget::max_lights.
ShadowCastersExhausted
Qualified occluders dropped by LightBudget::max_shadow_casters.
ShadowVertexBudget
The light’s wedges would exceed LightBudget::max_shadow_vertices;
the light is accumulated without shadows.
Trait Implementations§
Source§impl Clone for LightIssueKind
impl Clone for LightIssueKind
impl Copy for LightIssueKind
Source§impl Debug for LightIssueKind
impl Debug for LightIssueKind
Source§impl PartialEq for LightIssueKind
impl PartialEq for LightIssueKind
impl StructuralPartialEq for LightIssueKind
Auto Trait Implementations§
impl Freeze for LightIssueKind
impl RefUnwindSafe for LightIssueKind
impl Send for LightIssueKind
impl Sync for LightIssueKind
impl Unpin for LightIssueKind
impl UnsafeUnpin for LightIssueKind
impl UnwindSafe for LightIssueKind
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>. 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>
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)
&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.