mirror of
https://github.com/GayPizzaSpecifications/voxelotl-engine.git
synced 2025-08-03 13:11:33 +00:00
project mouse into view when clicking w/ mouse unlocked
This commit is contained in:
@ -88,6 +88,19 @@ public extension simd_float4x4 {
|
||||
.init(0, 0, z, -1),
|
||||
.init(0, 0, w, 0))
|
||||
}
|
||||
|
||||
func project(_ v: SIMD3<Float>) -> SIMD3<Float> {
|
||||
let t = self.transpose, v = SIMD4(v, 1)
|
||||
return .init(simd_dot(v, t.columns.0), simd_dot(v, t.columns.1), simd_dot(v, t.columns.2))
|
||||
* (1 / simd_dot(v, t.columns.3))
|
||||
}
|
||||
|
||||
static func * (lhs: Self, rhs: SIMD3<Float>) -> SIMD3<Float> {
|
||||
.init(
|
||||
simd_dot(lhs.columns.0.xyz, rhs),
|
||||
simd_dot(lhs.columns.1.xyz, rhs),
|
||||
simd_dot(lhs.columns.2.xyz, rhs))
|
||||
}
|
||||
}
|
||||
|
||||
extension simd_quatf {
|
||||
|
Reference in New Issue
Block a user