summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yaml42
-rw-r--r--racer-tracer/src/render.rs2
-rw-r--r--racer-tracer/src/scene.rs2
-rw-r--r--racer-tracer/src/vec3.rs2
4 files changed, 46 insertions, 2 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..bd48ee9
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,42 @@
+name: Cargo Build & Test
+
+on:
+ push:
+ pull_request:
+
+
+env:
+ CARGO_TERM_COLOR: always
+
+
+jobs:
+ test:
+ name: Rust project - latest
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Install toolchain
+ run: |
+ rustup update stable
+ rustup default stable
+ rustup component add clippy
+
+ - name: Lint
+ run: |
+ cd racer-tracer
+ cargo fmt -- --check
+ cargo clippy -- -D warnings
+
+ - name: Test
+ run: |
+ cd racer-tracer
+ cargo check
+ cargo test --all
+
+ - name: Build
+ run: |
+ cd racer-tracer
+ cargo build --release
+
diff --git a/racer-tracer/src/render.rs b/racer-tracer/src/render.rs
index ea5c17d..1d6d65d 100644
--- a/racer-tracer/src/render.rs
+++ b/racer-tracer/src/render.rs
@@ -73,7 +73,7 @@ pub fn raytrace(
let scaled_screen_width = image.screen_width / data.scale;
let scaled_screen_height = image.screen_height / data.scale;
- let mut colors: Vec<Vec3> = vec![Vec3::default(); scaled_height * scaled_width as usize];
+ let mut colors: Vec<Vec3> = vec![Vec3::default(); scaled_height * scaled_width];
for row in 0..scaled_height {
for column in 0..scaled_width {
let u: f64 = ((image.x / data.scale + column) as f64 + random_double())
diff --git a/racer-tracer/src/scene.rs b/racer-tracer/src/scene.rs
index 91fa252..c0c6bb7 100644
--- a/racer-tracer/src/scene.rs
+++ b/racer-tracer/src/scene.rs
@@ -15,12 +15,14 @@ pub struct Scene {
}
impl Scene {
+ #[allow(dead_code)]
pub fn new() -> Self {
Self {
objects: Vec::new(),
}
}
+ #[allow(dead_code)]
pub fn add(&mut self, hittable: Box<dyn Hittable>) {
self.objects.push(hittable);
}
diff --git a/racer-tracer/src/vec3.rs b/racer-tracer/src/vec3.rs
index ed21a45..c5edf32 100644
--- a/racer-tracer/src/vec3.rs
+++ b/racer-tracer/src/vec3.rs
@@ -87,7 +87,7 @@ impl Vec3 {
let red: u32 = (self.data[0] * 255.0) as u32;
let green: u32 = (self.data[1] * 255.0) as u32;
let blue: u32 = (self.data[2] * 255.0) as u32;
- ((red as u32) << 16) | ((green as u32) << 8) | blue as u32
+ (red << 16) | green << 8 | blue
}
pub fn random() -> Self {