Add initial MIS implementation
This commit is contained in:
parent
ba2d853319
commit
d43d60bb85
10 changed files with 161 additions and 3 deletions
|
|
@ -7,7 +7,7 @@ use ray_tracing_core::{
|
|||
scene::Scene,
|
||||
};
|
||||
use ray_tracing_renderer::{
|
||||
depth_renderer::DepthRenderer, next_event_estimation::NextEventEstimation,
|
||||
depth_renderer::DepthRenderer, mis::MIS, next_event_estimation::NextEventEstimation,
|
||||
path_tracer::PathTracer, path_tracer_importance::PathTracerImportance,
|
||||
};
|
||||
use ray_tracing_scene::examples::example_scenes;
|
||||
|
|
@ -42,6 +42,7 @@ fn render_image<
|
|||
) -> Result<(), TevError> {
|
||||
let mut data = vec![0.0; (renderer.width() * renderer.height() * 3) as usize];
|
||||
|
||||
let start = std::time::Instant::now();
|
||||
data.par_chunks_mut(3).enumerate().for_each(|(i, c)| {
|
||||
let x = (i % renderer.width() as usize) as u32;
|
||||
let y = (i / renderer.width() as usize) as u32;
|
||||
|
|
@ -55,6 +56,7 @@ fn render_image<
|
|||
c[2] += r.b();
|
||||
}
|
||||
});
|
||||
println!("Rendered \"{}\" in {:?}", name.as_ref(), start.elapsed());
|
||||
|
||||
let channel_names = &["r", "g", "b"];
|
||||
|
||||
|
|
@ -152,5 +154,16 @@ fn main() {
|
|||
&mut client,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let r = MIS::new(args.width, args.height);
|
||||
render_image(
|
||||
format!("{scene} - mis"),
|
||||
&r,
|
||||
&s,
|
||||
&c,
|
||||
args.samples_per_pixel,
|
||||
&mut client,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue