33 lines
824 B
Rust
33 lines
824 B
Rust
use crate::wavefront::workitems::*;
|
|
use crate::core::geometry::Bounds3f;
|
|
|
|
pub trait WavefrontAggregate {
|
|
fn bounds(&self) -> Bounds3f;
|
|
|
|
fn intersect_closest(
|
|
&self,
|
|
max_rays: usize,
|
|
ray_q: &RayQueue,
|
|
escaped_ray_q: &EscapedRayQueue,
|
|
hit_area_light_q: &HitAreaLightQueue,
|
|
basic_eval_mtl_q: &MaterialEvalQueue,
|
|
universal_eval_mtl_q: &MaterialEvalQueue,
|
|
next_ray_q: &RayQueue,
|
|
pixel_sample_state: &PixelSampleState,
|
|
);
|
|
|
|
fn intersect_shadow(
|
|
&self,
|
|
max_rays: usize,
|
|
shadow_ray_q: &ShadowRayQueue,
|
|
pixel_sample_state: &PixelSampleState,
|
|
);
|
|
|
|
fn intersect_shadow_tr(
|
|
&self,
|
|
max_rays: usize,
|
|
shadow_ray_q: &ShadowRayQueue,
|
|
pixel_sample_state: &PixelSampleState,
|
|
);
|
|
}
|
|
|