From 8eec1dd60e966f068cd62fba87ca5dbc1aeb1978 Mon Sep 17 00:00:00 2001 From: Rosyid Haryadi Date: Mon, 3 Mar 2025 02:49:39 +0700 Subject: upd camera field of view --- src/common.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/common.rs') diff --git a/src/common.rs b/src/common.rs index 120d8b4..75bf600 100644 --- a/src/common.rs +++ b/src/common.rs @@ -1,18 +1,23 @@ -use crate::calculus::calculus::Point3; +use crate::calculus::calculus::{Point3, Vec3}; use crate::interval::Interval; // "Ideal" aspect ratio, allowing fraction -pub const ASPECT_RATIO: f32 = 16.0f32 / 9.0f32; +pub const ASPECT_RATIO: f32 = 16.0 / 9.0; pub const IMG_WIDTH: usize = 400; pub const IMG_HEIGHT: usize = get_image_height(IMG_WIDTH, ASPECT_RATIO); pub const VIEWPORT_HEIGHT: f32 = 2.0; pub const FOCAL_LENGTH: f32 = 1.0; -pub const CAMERA_CENTER: Point3 = Point3 { x: 0f32, y: 0f32, z: 0f32 }; +pub const CAMERA_CENTER: Point3 = Point3 { x: 0.0, y: 0.0, z: 0.0 }; pub const SAMPLES_PER_PIXEL: usize = 100; pub const MAX_DEPTH: usize = 50; +pub const VFOV: f32 = 90.0; +pub const LOOK_FROM: Point3 = Point3 { x: -2.0, y: -2.0, z: 1.0 }; +pub const LOOK_AT: Point3 = Point3 { x: 0.0, y: 0.0, z: -1.0 }; +pub const VUP: Vec3 = Vec3 { x: 0.0, y: 1.0, z: 0.0 }; + pub const fn get_image_height(image_width: usize, aspect_ratio: f32) -> usize { let image_height = (image_width as f32 / aspect_ratio) as usize; if image_width < 1 { 1 } else { image_height } -- cgit v1.2.3-70-g09d2