diff --git a/clovers-cli/Cargo.toml b/clovers-cli/Cargo.toml index 4dc701cf..958379f1 100644 --- a/clovers-cli/Cargo.toml +++ b/clovers-cli/Cargo.toml @@ -13,16 +13,16 @@ path = "src/main.rs" clovers = { path = "../clovers", features = ["serde-derive", "stl", "traces", "gl_tf"], default-features = false } # External -clap = { version = "4.2.1", features = ["std", "derive"] } +clap = { version = "4.4.1", features = ["std", "derive"] } human_format = "1.0.3" humantime = "2.1.0" -image = { version = "0.24.6", features = ["png"], default-features = false } +image = { version = "0.24.7", features = ["png"], default-features = false } img-parts = "0.3.0" -indicatif = { version = "0.17.3", features = ["rayon"], default-features = false } +indicatif = { version = "0.17.6", features = ["rayon"], default-features = false } rand = { version = "0.8.5", features = ["small_rng", "getrandom"], default-features = false } rayon = "1.7.0" -serde = { version = "1.0.159", features = ["derive"], default-features = false } +serde = { version = "1.0.188", features = ["derive"], default-features = false } serde_json = { version = "1.0", features = ["alloc"], default-features = false } -time = { version = "0.3.20", default-features = false } +time = { version = "0.3.28", default-features = false } tracing = "0.1.37" -tracing-subscriber = { version = "0.3.16", features = ["time"] } +tracing-subscriber = { version = "0.3.17", features = ["time"] } diff --git a/clovers/Cargo.toml b/clovers/Cargo.toml index 6be7430e..f7dd7e5c 100644 --- a/clovers/Cargo.toml +++ b/clovers/Cargo.toml @@ -18,12 +18,12 @@ std = [] traces = ["tracing"] [dependencies] -enum_dispatch = "0.3.11" -gltf = { version = "1.1.0", optional = true } -nalgebra = { version = "0.32.2", features = ["libm"], default-features = false } +enum_dispatch = "0.3.12" +gltf = { version = "1.3.0", optional = true } +nalgebra = { version = "0.32.3", features = ["libm"], default-features = false } rand = { version = "0.8.5", features = ["small_rng"], default-features = false } rand_distr = "0.4.3" -serde = { version = "1.0.159", features = ["derive"], default-features = false, optional = true } +serde = { version = "1.0.188", features = ["derive"], default-features = false, optional = true } stl_io = { version = "0.7.0", optional = true } tracing = { version = "0.1.37", optional = true } diff --git a/clovers/src/bvhnode.rs b/clovers/src/bvhnode.rs index f0dce84b..708bfcdb 100644 --- a/clovers/src/bvhnode.rs +++ b/clovers/src/bvhnode.rs @@ -253,12 +253,12 @@ fn vec_bounding_box(vec: &Vec, t0: Float, t1: Float) -> Option { let mut output_box: Option = None; // Go through all the objects, and expand the AABB - for object in vec.iter() { + for object in vec { // Check if the object has a box let Some(bounding) = object.bounding_box(t0, t1) else { // No box found for the object, early return. // Having even one unbounded object in a list makes the entire list unbounded! - return None + return None; }; // Do we have an output_box already saved? diff --git a/clovers/src/colorize.rs b/clovers/src/colorize.rs index 7b00a54c..6916c8f0 100644 --- a/clovers/src/colorize.rs +++ b/clovers/src/colorize.rs @@ -81,7 +81,7 @@ pub fn colorize(ray: &Ray, scene: &Scene, depth: u32, max_depth: u32, rng: &mut .scattering_pdf(&hit_record, &scatter_ray, rng) else { // No scatter, only emit - return emitted + return emitted; }; // Recurse for the scattering ray diff --git a/clovers/src/objects/boxy.rs b/clovers/src/objects/boxy.rs index 2b21e2ac..0ac316f5 100644 --- a/clovers/src/objects/boxy.rs +++ b/clovers/src/objects/boxy.rs @@ -91,7 +91,7 @@ impl<'scene> HitableTrait for Boxy<'scene> { // start with an empty hit_record, hit all sides, return closest let mut hit_record: Option = None; let mut closest = distance_max; - for hitable in self.sides.iter() { + for hitable in &*self.sides { if let Some(record) = hitable.hit(ray, distance_min, closest, rng) { closest = record.distance; hit_record = Some(record); diff --git a/clovers/src/objects/constant_medium.rs b/clovers/src/objects/constant_medium.rs index c8f47d0c..699b1dd7 100644 --- a/clovers/src/objects/constant_medium.rs +++ b/clovers/src/objects/constant_medium.rs @@ -69,20 +69,19 @@ impl<'scene> HitableTrait for ConstantMedium<'scene> { // TODO: explain how the fog works. let Some(mut rec1) = self - .boundary - .hit(ray, Float::NEG_INFINITY, Float::INFINITY, rng) + .boundary + .hit(ray, Float::NEG_INFINITY, Float::INFINITY, rng) else { - return None + return None; }; let Some(mut rec2) = self.boundary.hit( - ray, - rec1.distance + EPSILON_CONSTANT_MEDIUM, - Float::INFINITY, - rng, - ) - else { - return None + ray, + rec1.distance + EPSILON_CONSTANT_MEDIUM, + Float::INFINITY, + rng, + ) else { + return None; }; if rec1.distance < distance_min { diff --git a/clovers/src/objects/rotate.rs b/clovers/src/objects/rotate.rs index b5f94676..9981a8ec 100644 --- a/clovers/src/objects/rotate.rs +++ b/clovers/src/objects/rotate.rs @@ -43,13 +43,13 @@ impl<'scene> RotateY<'scene> { // Does our object have a bounding box? let Some(bbox) = bounding_box else { - return RotateY { - object, - sin_theta, - cos_theta, - aabb: None, - } + return RotateY { + object, + sin_theta, + cos_theta, + aabb: None, }; + }; // Start with infinite bounds let mut min: Vec3 = Vec3::new(Float::INFINITY, Float::INFINITY, Float::INFINITY); @@ -117,7 +117,7 @@ impl<'scene> HitableTrait for RotateY<'scene> { let Some(hit_record) = self.object.hit(&rotated_r, distance_min, distance_max, rng) else { // Did not hit rotated object, early return None - return None + return None; }; // Determine where the intersection is