about summary refs log tree commit diff
path: root/src/geom.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/geom.zig')
-rw-r--r--src/geom.zig14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/geom.zig b/src/geom.zig
index d86c682..4bb92e1 100644
--- a/src/geom.zig
+++ b/src/geom.zig
@@ -1,6 +1,6 @@
 // Geometry functions
 // Copyright (C) 2002  David Rosen
-// Copyright (C) 2023  Nguyễn Gia Phong
+// Copyright (C) 2023, 2025  Nguyễn Gia Phong
 //
 // This file is part of Black Shades.
 //
@@ -81,9 +81,9 @@ pub fn rotate2d(i: *f32, j: *f32, a: f32) void {
 export fn rotate(v: XYZ, deg_x: f32, deg_y: f32, deg_z: f32) XYZ {
     var u = v;
     // TODO: optimize
-    rotate2d(&u.x, &u.y, degreesToRadians(f32, deg_z));
-    rotate2d(&u.z, &u.x, degreesToRadians(f32, deg_y));
-    rotate2d(&u.y, &u.z, degreesToRadians(f32, deg_x));
+    rotate2d(&u.x, &u.y, degreesToRadians(deg_z));
+    rotate2d(&u.z, &u.x, degreesToRadians(deg_y));
+    rotate2d(&u.y, &u.z, degreesToRadians(deg_x));
     return u;
 }
 
@@ -106,7 +106,7 @@ pub export fn segCrossTrigon(start: XYZ, end: XYZ,
     const q: @Vector(3, f32) = @bitCast(end);
     const n: @Vector(3, f32) = @bitCast(normal.*);
     const denom = dot(q - p, n);
-    if (@fabs(denom) < floatEps(f32))
+    if (@abs(denom) < floatEps(f32))
         return false; // parallel segment and triangle
 
     const a: @Vector(3, f32) = @bitCast(p_a.*);
@@ -116,7 +116,7 @@ pub export fn segCrossTrigon(start: XYZ, end: XYZ,
         return false; // intersection not within segment
 
     // Check if intersection is in the triangle
-    const n_abs = @fabs(n);
+    const n_abs = @abs(n);
     const n_max = @reduce(.Max, n_abs);
     const k: struct { usize, usize } = if (n_max == n_abs[0])
         .{ 1, 2 }
@@ -132,7 +132,7 @@ pub export fn segCrossTrigon(start: XYZ, end: XYZ,
     const v = @Vector(3, f32){ i[k[1]], b[k[1]], c[k[1]] } - splat(3, a[k[1]]);
     intersection.* = @bitCast(i);
 
-    if (@fabs(u[1]) < floatEps(f32)) {
+    if (@abs(u[1]) < floatEps(f32)) {
         const s = u[0] / u[2];
         if (s >= 0 and s <= 1) {
             const t = (v[0] - s * v[2]) / v[1];