Struct bevy::pbr::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
§impl ExtractComponent for EnvironmentMapLight
impl ExtractComponent for EnvironmentMapLight
§type Query = &'static EnvironmentMapLight
type Query = &'static EnvironmentMapLight
WorldQuery
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 GetTypeRegistration for EnvironmentMapLightwhere
Handle<Image>: Reflect,
impl GetTypeRegistration for EnvironmentMapLightwhere Handle<Image>: Reflect,
§impl Reflect for EnvironmentMapLightwhere
Handle<Image>: Reflect,
impl Reflect for EnvironmentMapLightwhere Handle<Image>: Reflect,
§fn get_type_info(&self) -> &'static TypeInfo
fn get_type_info(&self) -> &'static TypeInfo
§fn into_any(
self: Box<EnvironmentMapLight, Global>
) -> Box<dyn Any + 'static, Global>
fn into_any( self: Box<EnvironmentMapLight, Global> ) -> Box<dyn Any + 'static, 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 + 'static, Global>
fn into_reflect( self: Box<EnvironmentMapLight, Global> ) -> Box<dyn Reflect + 'static, 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 + 'static, Global>
fn clone_value(&self) -> Box<dyn Reflect + 'static, Global>
Reflect
trait object. Read more§fn set(
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
fn set( &mut self, value: Box<dyn Reflect + 'static, Global> ) -> Result<(), Box<dyn Reflect + 'static, 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<'_>>
§impl Struct for EnvironmentMapLightwhere
Handle<Image>: Reflect,
impl Struct for EnvironmentMapLightwhere Handle<Image>: Reflect,
§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
.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.§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>,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_, 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 + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, 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>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> GetPath for Twhere
T: Reflect,
impl<T> GetPath for Twhere T: Reflect,
§fn reflect_path<'r, 'p>(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'r, 'p>( &'r self, path: &'p str ) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§fn reflect_path_mut<'r, 'p>(
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'r, 'p>( &'r mut self, path: &'p str ) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more