Vectorized noise (but was it a bottleneck?)

This commit is contained in:
2025-12-02 01:57:21 +01:00
parent 320273b053
commit faddb1f35e
8 changed files with 262 additions and 49 deletions

View File

@@ -4,12 +4,35 @@ pub const Iterator3 = @import("math/Iterator3.zig");
pub const Matrix4x4 = @import("math/Matrix4x4.zig").Matrix4x4;
pub const Quaternion = @import("math/Quaternion.zig").Quaternion;
pub const Vector2 = @import("math/Vector2.zig").Vector2;
pub const Vector2x8 = @import("math/Vector2x8.zig").Vector2x8;
pub const Vector3 = @import("math/Vector3.zig").Vector3;
pub const Vector4 = @import("math/Vector4.zig").Vector4;
pub const f32x8 = @Vector(8, f32);
pub const i32x8 = @Vector(8, i32);
pub const u32x8 = @Vector(8, u32);
pub const u64x8 = @Vector(8, u64);
pub inline fn ps(value: f32) f32x8 {
return @splat(value);
}
pub inline fn epi32(value: i32) i32x8 {
return @splat(value);
}
pub inline fn epu32(value: u32) u32x8 {
return @splat(value);
}
pub inline fn epu64x2(value: u64) u64x8 {
return @splat(value);
}
pub inline fn lerp(a: f32, b: f32, t: f32) f32 {
const s = 1.0 - t;
return a * t + b * s;
}
pub const noise2 = @import("math/noise.zig").noise2;
pub const noise2x8 = @import("math/noise.zig").noise2x8;