[][src]Enum easy_gltf::Light

pub enum Light {
    Directional {
        direction: Vector3<f32>,
        color: Vector3<f32>,
        intensity: f32,
    },
    Point {
        position: Vector3<f32>,
        color: Vector3<f32>,
        intensity: f32,
    },
    Spot {
        position: Vector3<f32>,
        direction: Vector3<f32>,
        color: Vector3<f32>,
        intensity: f32,
        inner_cone_angle: f32,
        outer_cone_angle: f32,
    },
}

Represents a light.

Variants

Directional

Directional lights are light sources that act as though they are infinitely far away and emit light in the direction. Because it is at an infinite distance, the light is not attenuated. Its intensity is defined in lumens per metre squared, or lux (lm/m2).

Fields of Directional

direction: Vector3<f32>

Direction of the directional light

color: Vector3<f32>

Color of the directional light

intensity: f32

Intensity of the directional light

Point

Point lights emit light in all directions from their position in space; The brightness of the light attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Point light intensity is defined in candela, which is lumens per square radian (lm/sr).

Fields of Point

position: Vector3<f32>

Position of the point light

color: Vector3<f32>

Color of the point light

intensity: f32

Intensity of the point light

Spot

Spot lights emit light in a cone in direction. The angle and falloff of the cone is defined using two numbers, the inner_cone_angle and outer_cone_angle. As with point lights, the brightness also attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Spot light intensity refers to the brightness inside the inner_cone_angle (and at the location of the light) and is defined in candela, which is lumens per square radian (lm/sr). Engines that don't support two angles for spotlights should use outer_cone_angle as the spotlight angle (leaving inner_cone_angle to implicitly be 0).

Fields of Spot

position: Vector3<f32>

Position of the spot light

direction: Vector3<f32>

Direction of the spot light

color: Vector3<f32>

Color of the spot light

intensity: f32

Intensity of the spot light

inner_cone_angle: f32

Inner cone angle of the spot light

outer_cone_angle: f32

Outer cone angle of the spot light

Trait Implementations

impl Clone for Light[src]

impl Debug for Light[src]

Auto Trait Implementations

impl RefUnwindSafe for Light

impl Send for Light

impl Sync for Light

impl Unpin for Light

impl UnwindSafe for Light

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.