From f33ee09b9d295eebe3d80c8ef674f95d95569448 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 14 Oct 2024 18:11:19 -0400 Subject: [PATCH] refactor: rename `types.rs` to `util.rs` --- src/camera.rs | 2 +- src/main.rs | 40 +++++++++++++++++++++++---------------- src/object.rs | 2 +- src/object/bound.rs | 2 +- src/object/plane.rs | 2 +- src/object/point_light.rs | 2 +- src/object/sphere.rs | 2 +- src/object/triangle.rs | 2 +- src/render.rs | 5 +---- src/{types.rs => util.rs} | 0 10 files changed, 32 insertions(+), 27 deletions(-) rename src/{types.rs => util.rs} (100%) diff --git a/src/camera.rs b/src/camera.rs index 88eae1c..d479ef3 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -3,7 +3,7 @@ extern crate nalgebra as na; use na::geometry::{Point2, Point3}; use na::*; -use crate::types::Ray; +use crate::util::Ray; #[derive(Debug)] pub struct Camera { diff --git a/src/main.rs b/src/main.rs index 30f9fb8..e3757fb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,18 +1,22 @@ extern crate nalgebra as na; -use std::time::Instant; use std::fs::File; use std::io::Write; +use std::time::Instant; use na::*; -mod camera; use camera::*; -mod types; use types::*; -mod object; use object::*; -mod render; use render::*; +mod camera; +use camera::*; +mod util; +use util::*; +mod object; +use object::*; +mod render; +use render::*; fn render(camera: &Camera, scene: &Scene, filename: &str) -> std::io::Result<()> { - let width = camera.image_size.x; + let width = camera.image_size.x; let height = camera.image_size.y; let mut buffer: Vec = Vec::with_capacity((width * height) as usize); @@ -35,18 +39,22 @@ fn render(camera: &Camera, scene: &Scene, filename: &str) -> std::io::Result<()> } fn main() -> std::io::Result<()> { - - let camera = Camera::new(Point3::new(0.0,5.0,0.0), Vector3::new(0.0,-1.0,0.0), 1.0, 16.0 / 9.0, 2.0, 720); + let camera = Camera::new( + Point3::new(0.0, 5.0, 0.0), + Vector3::new(0.0, -1.0, 0.0), + 1.0, + 16.0 / 9.0, + 2.0, + 720, + ); let scene = Scene { - objects: vec![ - Object::new(Plane::xz(|_, _| Texture { color: Color::white(), albedo: 0.8 })), - - ], - lights: vec![ - - ], - background: Color::gray(0.5) + objects: vec![Object::new(Plane::xz(|_, _| Texture { + color: Color::white(), + albedo: 0.8, + }))], + lights: vec![], + background: Color::gray(0.5), }; let before = Instant::now(); diff --git a/src/object.rs b/src/object.rs index 9d7b108..76b3459 100644 --- a/src/object.rs +++ b/src/object.rs @@ -9,7 +9,7 @@ pub use bound::*; mod point_light; pub use point_light::*; -use crate::types::*; +use crate::util::*; // A trait for types that can be in Objects. pub trait Surface { diff --git a/src/object/bound.rs b/src/object/bound.rs index e295003..d368650 100644 --- a/src/object/bound.rs +++ b/src/object/bound.rs @@ -3,7 +3,7 @@ extern crate nalgebra as na; // use na::distance; use na::geometry::Point3; -use crate::types::*; +use crate::util::*; // A bounding sphere, used for // intersection test optimization. diff --git a/src/object/plane.rs b/src/object/plane.rs index e02ac95..c761ce6 100644 --- a/src/object/plane.rs +++ b/src/object/plane.rs @@ -4,7 +4,7 @@ use na::geometry::Point3; use na::*; use super::{bound::*, Surface}; -use crate::types::*; +use crate::util::*; pub struct Plane { pub center: Point3f, // Plane origin (used for texture mapping). diff --git a/src/object/point_light.rs b/src/object/point_light.rs index cc6ad91..b8e7b58 100644 --- a/src/object/point_light.rs +++ b/src/object/point_light.rs @@ -3,7 +3,7 @@ extern crate nalgebra as na; use na::*; use super::*; -use crate::types::*; +use crate::util::*; pub struct PointLight { pub pos: Point3f, diff --git a/src/object/sphere.rs b/src/object/sphere.rs index 5c5f60f..3838c61 100644 --- a/src/object/sphere.rs +++ b/src/object/sphere.rs @@ -6,7 +6,7 @@ use na::geometry::Point3; use na::*; use super::{bound::*, Surface}; -use crate::types::*; +use crate::util::*; pub struct Sphere { pub center: Point3f, // Center point of the sphere. diff --git a/src/object/triangle.rs b/src/object/triangle.rs index 6186e6f..205cb18 100644 --- a/src/object/triangle.rs +++ b/src/object/triangle.rs @@ -6,7 +6,7 @@ use na::geometry::Point3; use na::*; use super::{bound::*, Surface}; -use crate::types::*; +use crate::util::*; pub struct Triangle { pub v1: usize, // Handles to 3 vertices. diff --git a/src/render.rs b/src/render.rs index f7ff970..c17f2d8 100644 --- a/src/render.rs +++ b/src/render.rs @@ -3,11 +3,8 @@ extern crate nalgebra as na; use std::cmp::Ordering; use std::f64::consts::PI; -use na::geometry::Point3; -use na::*; - use crate::object::*; -use crate::types::*; +use crate::util::*; fn trace(ray: Ray, objects: &Vec) -> Option<(&Object, f64)> { objects diff --git a/src/types.rs b/src/util.rs similarity index 100% rename from src/types.rs rename to src/util.rs