pub struct Environment {
    pub irradiance_map: TextureCubeMap,
    pub prefilter_map: TextureCubeMap,
    pub brdf_map: Texture2D,
}
Expand description

Precalculations of light shining from an environment map (known as image based lighting - IBL). This allows for real-time rendering of ambient light from the environment (see AmbientLight).

Fields§

§irradiance_map: TextureCubeMap

A cube map used to calculate the diffuse contribution from the environment.

§prefilter_map: TextureCubeMap

A cube map used to calculate the specular contribution from the environment. Each mip-map level contain the prefiltered color for a certain surface roughness.

§brdf_map: Texture2D

A 2D texture that contain the BRDF lookup tables (LUT).

Implementations§

source§

impl Environment

source

pub fn new(context: &Context, environment_map: &TextureCubeMap) -> Self

Computes the maps needed for physically based rendering with lighting from an environment from the given environment map. A default Cook-Torrance lighting model is used.

source

pub fn new_with_lighting_model( context: &Context, environment_map: &TextureCubeMap, lighting_model: LightingModel ) -> Self

Computes the maps needed for physically based rendering with lighting from an environment from the given environment map and with the specified lighting model.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> AutoreleaseSafe for Twhere T: ?Sized,