[][src]Struct rpt::Sphere

pub struct Sphere;

A unit sphere centered at the origin

Trait Implementations

impl Bounded for Sphere[src]

impl Shape for Sphere[src]

pub fn sample(&self, target: &DVec3, rng: &mut StdRng) -> (DVec3, DVec3, f64)[src]

Sample a spherical light source, somewhat respecting the solid angle from a target point

Currently, this implementation just generates a random point in the hemisphere facing the target point, weighted by the cosine. This isn't the most sophisticated technique, since you can sample the solid angle exactly, but it's pretty good.

Auto Trait Implementations

impl RefUnwindSafe for Sphere

impl Send for Sphere

impl Sync for Sphere

impl Unpin for Sphere

impl UnwindSafe for Sphere

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> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,