pub struct Bloom {
pub intensity: f32,
pub low_frequency_boost: f32,
pub low_frequency_boost_curvature: f32,
pub high_pass_frequency: f32,
pub prefilter: BloomPrefilter,
pub composite_mode: BloomCompositeMode,
pub max_mip_dimension: u32,
pub scale: Vec2,
}
Expand description
Applies a bloom effect to an HDR-enabled 2d or 3d camera.
Bloom emulates an effect found in real cameras and the human eye, causing halos to appear around very bright parts of the scene.
See also https://en.wikipedia.org/wiki/Bloom_(shader_effect).
§Usage Notes
Bloom is currently not compatible with WebGL2.
Often used in conjunction with bevy_pbr::StandardMaterial::emissive
for 3d meshes.
Bloom is best used alongside a tonemapping function that desaturates bright colors,
such as crate::tonemapping::Tonemapping::TonyMcMapface
.
Bevy’s implementation uses a parametric curve to blend between a set of blurred (lower frequency) images generated from the camera’s view. See https://starlederer.github.io/bloom/ for a visualization of the parametric curve used in Bevy as well as a visualization of the curve’s respective scattering profile.
Fields§
§intensity: f32
Controls the baseline of how much the image is scattered (default: 0.15).
This parameter should be used only to control the strength of the bloom for the scene as a whole. Increasing it too much will make the scene appear blurry and over-exposed.
To make a mesh glow brighter, rather than increase the bloom intensity,
you should increase the mesh’s emissive
value.
§In energy-conserving mode
The value represents how likely the light is to scatter.
The value should be between 0.0 and 1.0 where:
- 0.0 means no bloom
- 1.0 means the light is scattered as much as possible
§In additive mode
The value represents how much scattered light is added to the image to create the glow effect.
In this configuration:
- 0.0 means no bloom
- Greater than 0.0 means a proportionate amount of scattered light is added
low_frequency_boost: f32
Low frequency contribution boost. Controls how much more likely the light is to scatter completely sideways (low frequency image).
Comparable to a low shelf boost on an equalizer.
§In energy-conserving mode
The value should be between 0.0 and 1.0 where:
- 0.0 means low frequency light uses base intensity for blend factor calculation
- 1.0 means low frequency light contributes at full power
§In additive mode
The value represents how much scattered light is added to the image to create the glow effect.
In this configuration:
- 0.0 means no bloom
- Greater than 0.0 means a proportionate amount of scattered light is added
low_frequency_boost_curvature: f32
Low frequency contribution boost curve. Controls the curvature of the blend factor function making frequencies next to the lowest ones contribute more.
Somewhat comparable to the Q factor of an equalizer node.
Valid range:
- 0.0 - base intensity and boosted intensity are linearly interpolated
- 1.0 - all frequencies below maximum are at boosted intensity level
high_pass_frequency: f32
Tightens how much the light scatters (default: 1.0).
Valid range:
- 0.0 - maximum scattering angle is 0 degrees (no scattering)
- 1.0 - maximum scattering angle is 90 degrees
prefilter: BloomPrefilter
Controls the threshold filter used for extracting the brightest regions from the input image before blurring them and compositing back onto the original image.
Changing these settings creates a physically inaccurate image and makes it easy to make
the final result look worse. However, they can be useful when emulating the 1990s-2000s game look.
See BloomPrefilter
for more information.
composite_mode: BloomCompositeMode
Controls whether bloom textures
are blended between or added to each other. Useful
if image brightening is desired and a must-change
if prefilter
is used.
§Recommendation
Set to BloomCompositeMode::Additive
if prefilter
is
configured in a non-energy-conserving way,
otherwise set to BloomCompositeMode::EnergyConserving
.
max_mip_dimension: u32
Maximum size of each dimension for the largest mipchain texture used in downscaling/upscaling. Only tweak if you are seeing visual artifacts.
scale: Vec2
Amount to stretch the bloom on each axis. Artistic control, can be used to emulate
anamorphic blur by using a large x-value. For large values, you may need to increase
Bloom::max_mip_dimension
to reduce sampling artifacts.
Implementations§
Source§impl Bloom
impl Bloom
Sourcepub const NATURAL: Self
pub const NATURAL: Self
The default bloom preset.
This uses the EnergyConserving
composite mode.
Sourcepub const ANAMORPHIC: Self
pub const ANAMORPHIC: Self
Emulates the look of stylized anamorphic bloom, stretched horizontally.
Sourcepub const OLD_SCHOOL: Self
pub const OLD_SCHOOL: Self
A preset that’s similar to how older games did bloom.
Sourcepub const SCREEN_BLUR: Self
pub const SCREEN_BLUR: Self
A preset that applies a very strong bloom, and blurs the whole screen.
Trait Implementations§
Source§impl Component for Bloom
impl Component for Bloom
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
Component::on_add
, etc.)ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_add() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_insert() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_replace() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_remove() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_despawn() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper
. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component
, this is populated by annotating fields containing entities with #[entities]
Read moreSource§impl ExtractComponent for Bloom
impl ExtractComponent for Bloom
Source§type QueryData = (&'static Bloom, &'static Camera)
type QueryData = (&'static Bloom, &'static Camera)
ReadOnlyQueryData
to fetch the components to extract.Source§type QueryFilter = ()
type QueryFilter = ()
Source§impl FromReflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetTypeRegistration for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl PartialReflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl Struct for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name
as a &dyn PartialReflect
.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect
.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
to_dynamic_struct
insteadDynamicStruct
.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for Bloom
impl TypePath for Bloom
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for Bloomwhere
Bloom: Any + Send + Sync,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomPrefilter: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
BloomCompositeMode: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec2: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Auto Trait Implementations§
impl Freeze for Bloom
impl RefUnwindSafe for Bloom
impl Send for Bloom
impl Sync for Bloom
impl Unpin for Bloom
impl UnwindSafe for Bloom
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<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
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<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info
.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<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§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