Reorganize and fix

This commit is contained in:
2026-01-04 22:43:44 +01:00
parent 7e8103565d
commit e019470687
15 changed files with 270 additions and 256 deletions

View File

@@ -124,4 +124,22 @@ pub const Vector4 = extern struct {
.w = @mulAdd(f32, t, b.w, @mulAdd(f32, -t, a.w, a.w)),
};
}
pub inline fn transform(self: Vector4, m: vm.Matrix4x4) Vector4 {
return .{
.x = self.x * m.ix + self.y * m.jx + self.z * m.kx + self.w * m.tx,
.y = self.x * m.iy + self.y * m.jy + self.z * m.ky + self.w * m.ty,
.z = self.x * m.iz + self.y * m.jz + self.z * m.kz + self.w * m.tz,
.w = self.x * m.iw + self.y * m.jw + self.z * m.kw + self.w * m.tw,
};
}
pub inline fn transform_x8(self: Vector4, m: vm.Matrix4x4x8) vm.Vector4x8 {
return .{
.x = vm.ps(self.x) * m.ix + vm.ps(self.y) * m.jx + vm.ps(self.z) * m.kx + vm.ps(self.w) * m.tx,
.y = vm.ps(self.x) * m.iy + vm.ps(self.y) * m.jy + vm.ps(self.z) * m.ky + vm.ps(self.w) * m.ty,
.z = vm.ps(self.x) * m.iz + vm.ps(self.y) * m.jz + vm.ps(self.z) * m.kz + vm.ps(self.w) * m.tz,
.w = vm.ps(self.x) * m.iw + vm.ps(self.y) * m.jw + vm.ps(self.z) * m.kw + vm.ps(self.w) * m.tw,
};
}
};