pub struct RayMarchSdf;Expand description
Sphere-tracing ray marcher through an SDF.
Implementations§
Source§impl RayMarchSdf
impl RayMarchSdf
Sourcepub fn march<F: Fn([f64; 3]) -> f64>(
f: &F,
origin: [f64; 3],
dir: [f64; 3],
max_dist: f64,
max_steps: usize,
epsilon: f64,
) -> Option<RayMarchHit>
pub fn march<F: Fn([f64; 3]) -> f64>( f: &F, origin: [f64; 3], dir: [f64; 3], max_dist: f64, max_steps: usize, epsilon: f64, ) -> Option<RayMarchHit>
Sphere-trace a ray through an SDF.
Starting at origin in direction dir (unit vector), marches until the
surface is hit (|SDF| < epsilon) or max_steps is reached.
Auto Trait Implementations§
impl Freeze for RayMarchSdf
impl RefUnwindSafe for RayMarchSdf
impl Send for RayMarchSdf
impl Sync for RayMarchSdf
impl Unpin for RayMarchSdf
impl UnsafeUnpin for RayMarchSdf
impl UnwindSafe for RayMarchSdf
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.