mirror of
https://github.com/GayPizzaSpecifications/voxelotl-engine.git
synced 2025-08-04 05:31:34 +00:00
prep for chunk meshing
This commit is contained in:
@ -22,11 +22,13 @@ public extension SIMD3 {
|
||||
}
|
||||
}
|
||||
|
||||
public extension SIMD3 where Scalar: FloatingPoint {
|
||||
@inline(__always) static var X: Self { Self(1, 0, 0) }
|
||||
@inline(__always) static var Y: Self { Self(0, 1, 0) }
|
||||
@inline(__always) static var Z: Self { Self(0, 0, 1) }
|
||||
public extension SIMD3 where Scalar: Numeric {
|
||||
@inline(__always) static var X: Self { Self(1, 0, 0) }
|
||||
@inline(__always) static var Y: Self { Self(0, 1, 0) }
|
||||
@inline(__always) static var Z: Self { Self(0, 0, 1) }
|
||||
}
|
||||
|
||||
public extension SIMD3 where Scalar: FloatingPoint {
|
||||
@inline(__always) static var up: Self { Y }
|
||||
@inline(__always) static var down: Self { -Y }
|
||||
@inline(__always) static var left: Self { -X }
|
||||
@ -35,6 +37,15 @@ public extension SIMD3 where Scalar: FloatingPoint {
|
||||
@inline(__always) static var back: Self { Z }
|
||||
}
|
||||
|
||||
public extension SIMD3 where Scalar: SignedInteger & FixedWidthInteger {
|
||||
@inline(__always) static var up: Self { Y }
|
||||
@inline(__always) static var down: Self { 0 &- Y }
|
||||
@inline(__always) static var left: Self { 0 &- X }
|
||||
@inline(__always) static var right: Self { X }
|
||||
@inline(__always) static var forward: Self { 0 &- Z }
|
||||
@inline(__always) static var back: Self { Z }
|
||||
}
|
||||
|
||||
public extension SIMD3 where Scalar: Numeric & AdditiveArithmetic {
|
||||
@inline(__always) func dot(_ b: Self) -> Scalar { self.x * b.x + self.y * b.y + self.z * b.z }
|
||||
}
|
||||
|
Reference in New Issue
Block a user