diff options
Diffstat (limited to 'src/camera.rs')
-rw-r--r-- | src/camera.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/camera.rs b/src/camera.rs index 033f962..e58c13e 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -1,7 +1,6 @@ use crate::calculus::calculus::{deg2rad, sample_square, Point3, Ray, Vec3}; -use crate::common::{get_image_height, Color, DisplayBuffer, Pixel, ASPECT_RATIO, CAMERA_CENTER, FOCAL_LENGTH, IMG_WIDTH, LOOK_AT, LOOK_FROM, MAX_DEPTH, SAMPLES_PER_PIXEL, VFOV, VIEWPORT_HEIGHT, VUP}; +use crate::common::{get_image_height, Color, DisplayBuffer, Pixel, ASPECT_RATIO, IMG_WIDTH, LOOK_AT, LOOK_FROM, MAX_DEPTH, SAMPLES_PER_PIXEL, VFOV, VUP}; use crate::interval::Interval; -use crate::material::{Material, MaterialType}; use crate::object::{HitRecord, Hittable, HittableList}; pub struct Camera { @@ -48,18 +47,18 @@ impl Default for Camera { let viewport_height = 2.0 * h * focal_length; let viewport_width = viewport_height * (image_width as f32 / image_height as f32); - let viewport_hor_vector = u.scalar_mul(viewport_height); - let viewport_ver_vector = v.scalar_mul(-1.0 * viewport_width); + let viewport_u = u.scalar_mul(viewport_width); + let viewport_v = v.scalar_mul(-1.0).scalar_mul(viewport_height); - let delta_pixel_u = viewport_hor_vector.scalar_mul(1.0 / image_width as f32); - let delta_pixel_v = viewport_ver_vector.scalar_mul(1.0 / image_height as f32); + let delta_pixel_u = viewport_u.scalar_mul(1.0 / image_width as f32); + let delta_pixel_v = viewport_v.scalar_mul(1.0 / image_height as f32); let viewport_upper_left = center .sub(&w.scalar_mul(focal_length)) - .sub(&viewport_hor_vector.scalar_mul(0.5)) - .sub(&viewport_ver_vector.scalar_mul(0.5)); + .sub(&viewport_u.scalar_mul(0.5)) + .sub(&viewport_v.scalar_mul(0.5)); let pixel_upper_left = viewport_upper_left.add( - &delta_pixel_u.add(&delta_pixel_u).scalar_mul(0.5) + &delta_pixel_u.add(&delta_pixel_v).scalar_mul(0.5) ); let max_depth = MAX_DEPTH; |