project mouse into view when clicking w/ mouse unlocked

This commit is contained in:
2024-08-28 02:28:24 +10:00
parent 160c9c8a68
commit 503c48404c
12 changed files with 278 additions and 111 deletions

View File

@ -5,30 +5,30 @@ import simd
import ShaderTypes
fileprivate let cubeVertices: [ShaderVertex] = [
.init(position: .init(-1, -1, 1, 1), normal: .init(.back, 0), texCoord: .init(0, 0)),
.init(position: .init( 1, -1, 1, 1), normal: .init(.back, 0), texCoord: .init(1, 0)),
.init(position: .init(-1, 1, 1, 1), normal: .init(.back, 0), texCoord: .init(0, 1)),
.init(position: .init( 1, 1, 1, 1), normal: .init(.back, 0), texCoord: .init(1, 1)),
.init(position: .init( 1, -1, 1, 1), normal: .init(.right, 0), texCoord: .init(0, 0)),
.init(position: .init( 1, -1, -1, 1), normal: .init(.right, 0), texCoord: .init(1, 0)),
.init(position: .init( 1, 1, 1, 1), normal: .init(.right, 0), texCoord: .init(0, 1)),
.init(position: .init( 1, 1, -1, 1), normal: .init(.right, 0), texCoord: .init(1, 1)),
.init(position: .init( 1, -1, -1, 1), normal: .init(.forward, 0), texCoord: .init(0, 0)),
.init(position: .init(-1, -1, -1, 1), normal: .init(.forward, 0), texCoord: .init(1, 0)),
.init(position: .init( 1, 1, -1, 1), normal: .init(.forward, 0), texCoord: .init(0, 1)),
.init(position: .init(-1, 1, -1, 1), normal: .init(.forward, 0), texCoord: .init(1, 1)),
.init(position: .init(-1, -1, -1, 1), normal: .init(.left, 0), texCoord: .init(0, 0)),
.init(position: .init(-1, -1, 1, 1), normal: .init(.left, 0), texCoord: .init(1, 0)),
.init(position: .init(-1, 1, -1, 1), normal: .init(.left, 0), texCoord: .init(0, 1)),
.init(position: .init(-1, 1, 1, 1), normal: .init(.left, 0), texCoord: .init(1, 1)),
.init(position: .init(-1, -1, -1, 1), normal: .init(.down, 0), texCoord: .init(0, 0)),
.init(position: .init( 1, -1, -1, 1), normal: .init(.down, 0), texCoord: .init(1, 0)),
.init(position: .init(-1, -1, 1, 1), normal: .init(.down, 0), texCoord: .init(0, 1)),
.init(position: .init( 1, -1, 1, 1), normal: .init(.down, 0), texCoord: .init(1, 1)),
.init(position: .init(-1, 1, 1, 1), normal: .init(.up, 0), texCoord: .init(0, 0)),
.init(position: .init( 1, 1, 1, 1), normal: .init(.up, 0), texCoord: .init(1, 0)),
.init(position: .init(-1, 1, -1, 1), normal: .init(.up, 0), texCoord: .init(0, 1)),
.init(position: .init( 1, 1, -1, 1), normal: .init(.up, 0), texCoord: .init(1, 1)),
.init(position: .init(-1, -1, 1), normal: .back, texCoord: .init(0, 0)),
.init(position: .init( 1, -1, 1), normal: .back, texCoord: .init(1, 0)),
.init(position: .init(-1, 1, 1), normal: .back, texCoord: .init(0, 1)),
.init(position: .init( 1, 1, 1), normal: .back, texCoord: .init(1, 1)),
.init(position: .init( 1, -1, 1), normal: .right, texCoord: .init(0, 0)),
.init(position: .init( 1, -1, -1), normal: .right, texCoord: .init(1, 0)),
.init(position: .init( 1, 1, 1), normal: .right, texCoord: .init(0, 1)),
.init(position: .init( 1, 1, -1), normal: .right, texCoord: .init(1, 1)),
.init(position: .init( 1, -1, -1), normal: .forward, texCoord: .init(0, 0)),
.init(position: .init(-1, -1, -1), normal: .forward, texCoord: .init(1, 0)),
.init(position: .init( 1, 1, -1), normal: .forward, texCoord: .init(0, 1)),
.init(position: .init(-1, 1, -1), normal: .forward, texCoord: .init(1, 1)),
.init(position: .init(-1, -1, -1), normal: .left, texCoord: .init(0, 0)),
.init(position: .init(-1, -1, 1), normal: .left, texCoord: .init(1, 0)),
.init(position: .init(-1, 1, -1), normal: .left, texCoord: .init(0, 1)),
.init(position: .init(-1, 1, 1), normal: .left, texCoord: .init(1, 1)),
.init(position: .init(-1, -1, -1), normal: .down, texCoord: .init(0, 0)),
.init(position: .init( 1, -1, -1), normal: .down, texCoord: .init(1, 0)),
.init(position: .init(-1, -1, 1), normal: .down, texCoord: .init(0, 1)),
.init(position: .init( 1, -1, 1), normal: .down, texCoord: .init(1, 1)),
.init(position: .init(-1, 1, 1), normal: .up, texCoord: .init(0, 0)),
.init(position: .init( 1, 1, 1), normal: .up, texCoord: .init(1, 0)),
.init(position: .init(-1, 1, -1), normal: .up, texCoord: .init(0, 1)),
.init(position: .init( 1, 1, -1), normal: .up, texCoord: .init(1, 1)),
]
fileprivate let cubeIndices: [UInt16] = [