Skip to content

Commit 55426c2

Browse files
committed
test camera math comment
1 parent cf9957a commit 55426c2

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/foundations/math/matrix.zig

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ test perspectiveProjection {
9191
const clip_space_left: vector.vec4 = .{ 1, 0, 0, 1 };
9292
const perspective_transformed_left = vector.normalize(transformVector(p, clip_space_left));
9393

94+
try std.testing.expect(float.equal(plane_extracted_left[0], perspective_transformed_left[0], 0.000001));
95+
try std.testing.expect(float.equal(plane_extracted_left[1], perspective_transformed_left[1], 0.000001));
96+
try std.testing.expect(float.equal(plane_extracted_left[2], perspective_transformed_left[2], 0.000001));
97+
try std.testing.expect(float.equal(plane_extracted_left[3], perspective_transformed_left[3], 0.000001));
98+
99+
// This doesn't really test the perspective function, it's testing camera math using perspective values.
94100
var cam = identity();
95101
cam = transformMatrix(cam, translate(10, -3, 9));
96102
cam = transformMatrix(cam, rotationX(std.math.pi * 0.2));
@@ -105,8 +111,10 @@ test perspectiveProjection {
105111
const f_camera = vector.mul(1.0 / @sqrt(g * g + s * s), camera_space_left);
106112
const f_world = transformVector(transpose(inverse(cam)), f_camera);
107113

108-
try std.testing.expect(float.equal(plane_extracted_left[0], perspective_transformed_left[0], 0.000001));
109114
try std.testing.expect(float.equal(left_plane.parameterized[0], f_world[0], 0.000001));
115+
try std.testing.expect(float.equal(left_plane.parameterized[1], f_world[1], 0.000001));
116+
try std.testing.expect(float.equal(left_plane.parameterized[2], f_world[2], 0.000001));
117+
try std.testing.expect(float.equal(left_plane.parameterized[3], f_world[3], 0.000001));
110118
}
111119

112120
pub inline fn perspectiveProjectionCamera(perspective_plane_distance_g: f32, aspect_ratio_s: f32, near: f32, far: f32) matrix {

0 commit comments

Comments
 (0)