terrain/Terrain/TerrainViewController.swift

40 lines
1 KiB
Swift
Raw Normal View History

//
// TerrainViewController.swift
// Terrain
//
// Created by Eryn Wells on 11/3/18.
// Copyright © 2018 Eryn Wells. All rights reserved.
//
import Cocoa
import MetalKit
class TerrainViewController: NSViewController {
2018-11-03 10:50:43 -04:00
var renderer: Renderer!
private var metalView: MTKView! {
return view as? MTKView
}
override func loadView() {
guard let device = MTLCreateSystemDefaultDevice() else {
2018-11-03 10:50:43 -04:00
fatalError("Couldn't create system default Metal device")
}
let v = MTKView(frame: CGRect(), device: device)
v.translatesAutoresizingMaskIntoConstraints = false
v.widthAnchor.constraint(greaterThanOrEqualToConstant: 640).isActive = true
v.heightAnchor.constraint(greaterThanOrEqualToConstant: 480).isActive = true
view = v
}
2018-11-03 10:50:43 -04:00
override func viewDidLoad() {
guard let device = metalView.device else {
fatalError("Couldn't get device from Metal view")
}
renderer = Renderer(device: device)
metalView.delegate = renderer
}
}