Add initial MIS implementation
This commit is contained in:
parent
ba2d853319
commit
d43d60bb85
10 changed files with 161 additions and 3 deletions
|
|
@ -329,13 +329,16 @@ impl<R: Rng> Scene<R> for TriangleBVH<R> {
|
|||
let triangle = self.triangles[i as usize];
|
||||
let material = &self.materials[triangle.material as usize];
|
||||
|
||||
let n = triangle_normal(self.get_vertices_from_index(i)).normalize();
|
||||
let n = triangle_normal(self.get_vertices_from_index(i));
|
||||
|
||||
let area = n.length() * 0.5;
|
||||
|
||||
Some(Intersection::new(
|
||||
t,
|
||||
n,
|
||||
n.normalize(),
|
||||
material.material.as_deref(),
|
||||
material.light.as_deref(),
|
||||
1.0 / ((self.lights.len() as Float) * area),
|
||||
))
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue