aboutsummaryrefslogtreecommitdiff
path: root/src/camera/film.rs
diff options
context:
space:
mode:
authorJulian T <julian@jtle.dk>2021-01-28 23:53:56 +0100
committerJulian T <julian@jtle.dk>2021-01-28 23:53:56 +0100
commitf467334b26f31b19ebbd222de2b4167b1538ccee (patch)
treef58839dde3f299a7c67aa37f9c86bcf36aa4186e /src/camera/film.rs
parent33a35c50c20e863123642c8c9ea31dfc006945f6 (diff)
Unfinished film
Diffstat (limited to 'src/camera/film.rs')
-rw-r--r--src/camera/film.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/camera/film.rs b/src/camera/film.rs
index c4a65ce..e31b760 100644
--- a/src/camera/film.rs
+++ b/src/camera/film.rs
@@ -1,6 +1,7 @@
use crate::vector::{Vector2, Vector2f};
use crate::Float;
-use crate::bounding::Bound2i;
+use crate::bound;
+use bound::{Bound2i, Bound2f};
use super::filter::Filter;
#[derive(Clone)]
@@ -12,8 +13,7 @@ pub struct Film<'a> {
pub resolution: Vector2<usize>,
pixels: Vec<Pixel>,
- filter: &'a dyn Filter,
- filter_radius: Vector2f,
+ filter: &'a Filter,
}
pub struct FilmTile {
@@ -27,19 +27,23 @@ impl Pixel {
}
impl Film<'_> {
- fn new(resolution: Vector2<usize>, filter: & dyn Filter) -> Film {
+ fn new(resolution: Vector2<usize>, filter: & Filter) -> Film {
let area = resolution.x * resolution.y;
Film {
resolution,
pixels: vec![Pixel::new(); area],
filter,
- filter_radius: filter.radius()
}
}
fn get_tile(bound: &Bound2i) {
// Used to calculate descrete coordinates into continues
let halfpixel = Vector2f::from_xy(0.5, 0.5);
+ let fbound = Bound2f::from(bound);
+
+
+
+ //let tilebound = bound::intersect(bound,
}
fn splat(&mut self, point: &Vector2<usize>, pixel: &Pixel) {