Move all Metal setup to the Renderer

This commit is contained in:
Eryn Wells 2018-11-03 15:06:30 -04:00
parent e18a956875
commit 3ce38b4b8b
2 changed files with 23 additions and 23 deletions

View file

@ -11,34 +11,24 @@ import MetalKit
class TerrainViewController: NSViewController {
var renderer: Renderer!
let renderer = Renderer()
private var metalView: MTKView! {
return view as? MTKView
private var metalView: MTKView {
return view as! MTKView
}
override func loadView() {
guard let device = MTLCreateSystemDefaultDevice() else {
fatalError("Couldn't create system default Metal device")
}
let v = MTKView(frame: CGRect(), device: device)
let v = MTKView()
v.translatesAutoresizingMaskIntoConstraints = false
v.widthAnchor.constraint(greaterThanOrEqualToConstant: 640).isActive = true
v.heightAnchor.constraint(greaterThanOrEqualToConstant: 480).isActive = true
view = v
}
override func viewDidLoad() {
renderer = Renderer()
metalView.delegate = renderer
}
override func viewWillAppear() {
super.viewWillAppear()
guard let device = metalView.device else {
return
}
renderer.setupMetal(withDevice: device, pixelFormat: metalView.colorPixelFormat)
metalView.delegate = renderer
renderer.setupMetal(withView: metalView)
renderer.prepareToRender()
}