Struct bevy::prelude::EnvironmentMapLight
pub struct EnvironmentMapLight {
pub diffuse_map: Handle<Image>,
pub specular_map: Handle<Image>,
}
Expand description
Environment map based ambient lighting representing light from distant scenery.
When added to a 3D camera, this component adds indirect light
to every point of the scene (including inside, enclosed areas) based on
an environment cubemap texture. This is similar to crate::AmbientLight
, but
higher quality, and is intended for outdoor scenes.
The environment map must be prefiltered into a diffuse and specular cubemap based on the split-sum approximation.
To prefilter your environment map, you can use KhronosGroup
’s glTF-IBL-Sampler.
The diffuse map uses the Lambertian distribution, and the specular map uses the GGX distribution.
KhronosGroup
also has several prefiltered environment maps that can be found here.
Fields§
§diffuse_map: Handle<Image>
§specular_map: Handle<Image>
Implementations§
§impl EnvironmentMapLight
impl EnvironmentMapLight
pub fn is_loaded(&self, images: &RenderAssets<Image>) -> bool
pub fn is_loaded(&self, images: &RenderAssets<Image>) -> bool
Whether or not all textures necessary to use the environment map have been loaded by the asset server.
Trait Implementations§
§impl Clone for EnvironmentMapLight
impl Clone for EnvironmentMapLight
§fn clone(&self) -> EnvironmentMapLight
fn clone(&self) -> EnvironmentMapLight
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Component for EnvironmentMapLightwhere
EnvironmentMapLight: Send + Sync + 'static,
impl Component for EnvironmentMapLightwhere EnvironmentMapLight: Send + Sync + 'static,
§type Storage = TableStorage
type Storage = TableStorage
TableStorage
or SparseStorage
.§impl ExtractComponent for EnvironmentMapLightwhere
EnvironmentMapLight: Clone,
impl ExtractComponent for EnvironmentMapLightwhere EnvironmentMapLight: Clone,
§type Query = &'static EnvironmentMapLight
type Query = &'static EnvironmentMapLight
ReadOnlyWorldQueryData
to fetch the components to extract.§type Out = EnvironmentMapLight
type Out = EnvironmentMapLight
§fn extract_component(
item: <<EnvironmentMapLight as ExtractComponent>::Query as WorldQuery>::Item<'_>
) -> Option<<EnvironmentMapLight as ExtractComponent>::Out>
fn extract_component( item: <<EnvironmentMapLight as ExtractComponent>::Query as WorldQuery>::Item<'_> ) -> Option<<EnvironmentMapLight as ExtractComponent>::Out>
§impl FromReflect for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl FromReflect for EnvironmentMapLightwhere Handle<Image>: FromReflect,
§fn from_reflect(
reflect: &(dyn Reflect + 'static)
) -> Option<EnvironmentMapLight>
fn from_reflect( reflect: &(dyn Reflect + 'static) ) -> Option<EnvironmentMapLight>
Self
from a reflected value.§impl GetTypeRegistration for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl GetTypeRegistration for EnvironmentMapLightwhere Handle<Image>: FromReflect,
§impl Reflect for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl Reflect for EnvironmentMapLightwhere Handle<Image>: FromReflect,
§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
§fn into_any(self: Box<EnvironmentMapLight, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<EnvironmentMapLight, Global>) -> Box<dyn Any, Global>
Box<dyn Any>
.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
.§fn into_reflect(
self: Box<EnvironmentMapLight, Global>
) -> Box<dyn Reflect, Global>
fn into_reflect( self: Box<EnvironmentMapLight, Global> ) -> Box<dyn Reflect, Global>
§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
§fn clone_value(&self) -> Box<dyn Reflect, Global>
fn clone_value(&self) -> Box<dyn Reflect, Global>
Reflect
trait object. Read more§fn set(
&mut self,
value: Box<dyn Reflect, Global>
) -> Result<(), Box<dyn Reflect, Global>>
fn set( &mut self, value: Box<dyn Reflect, Global> ) -> Result<(), Box<dyn Reflect, Global>>
§fn apply(&mut self, value: &(dyn Reflect + 'static))
fn apply(&mut self, value: &(dyn Reflect + 'static))
§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
§fn reflect_owned(self: Box<EnvironmentMapLight, Global>) -> ReflectOwned
fn reflect_owned(self: Box<EnvironmentMapLight, Global>) -> ReflectOwned
§fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
§impl Struct for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl Struct for EnvironmentMapLightwhere Handle<Image>: FromReflect,
§fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
name
as a &dyn Reflect
.§fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
name
as a
&mut dyn Reflect
.§fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
index
as a
&dyn Reflect
.§fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
index
as a &mut dyn Reflect
.§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
DynamicStruct
.§impl TypePath for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl TypePath for EnvironmentMapLightwhere Handle<Image>: FromReflect,
§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
§impl Typed for EnvironmentMapLightwhere
Handle<Image>: FromReflect,
impl Typed for EnvironmentMapLightwhere Handle<Image>: FromReflect,
Auto Trait Implementations§
impl !RefUnwindSafe for EnvironmentMapLight
impl Send for EnvironmentMapLight
impl Sync for EnvironmentMapLight
impl Unpin for EnvironmentMapLight
impl !UnwindSafe for EnvironmentMapLight
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> 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
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere C: Component,
fn component_ids( components: &mut Components, storages: &mut Storages, ids: &mut impl FnMut(ComponentId) )
unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> Cwhere F: for<'a> FnMut(&'a mut T) -> OwningPtr<'a, Aligned>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_, Aligned>) )
§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere T: TypePath,
§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> GetPath for Twhere
T: Reflect + ?Sized,
impl<T> GetPath for Twhere T: Reflect + ?Sized,
§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>
) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p> ) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p> ) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§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 more§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 more