From 3fe52d7b88f1e99bcffc5ea31e3e2cf9fcacec6d Mon Sep 17 00:00:00 2001 From: Rosyid Haryadi Date: Mon, 3 Mar 2025 04:23:27 +0700 Subject: camera --- src/camera.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/camera.rs') 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; -- cgit v1.2.3-70-g09d2