Vectorized noise (but was it a bottleneck?)
This commit is contained in:
23
src/math.zig
23
src/math.zig
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user