Struct Environment

Source
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 T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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 T
where T: ?Sized,