[][src]Struct pbrt::accelerators::bvh::BVHAccel

pub struct BVHAccel {
    pub primitives: Vec<Arc<dyn Primitive + Sync + Send>>,
    pub nodes: Vec<LinearBVHNode>,
    // some fields omitted
}

Fields

primitives: Vec<Arc<dyn Primitive + Sync + Send>>nodes: Vec<LinearBVHNode>

Methods

impl BVHAccel[src]

pub fn new(
    p: Vec<Arc<dyn Primitive + Sync + Send>>,
    max_prims_in_node: usize,
    split_method: SplitMethod
) -> Self
[src]

pub fn create(
    prims: Vec<Arc<dyn Primitive + Send + Sync>>,
    ps: &ParamSet
) -> Arc<BVHAccel>
[src]

pub fn recursive_build<'a>(
    bvh: Arc<BVHAccel>,
    arena: &'a Arena<BVHBuildNode<'a>>,
    primitive_info: &mut Vec<BVHPrimitiveInfo>,
    start: usize,
    end: usize,
    total_nodes: &mut usize,
    ordered_prims: &mut Vec<Arc<dyn Primitive + Sync + Send>>
) -> &'a mut BVHBuildNode<'a>
[src]

Trait Implementations

impl Primitive for BVHAccel[src]

fn compute_scattering_functions(
    &self,
    isect: &mut SurfaceInteraction,
    mode: TransportMode,
    allow_multiple_lobes: bool
)
[src]

Auto Trait Implementations

impl Send for BVHAccel

impl Sync for BVHAccel

Blanket Implementations

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.