Create Terrain2 app, using Xcode's boilerplate

This commit is contained in:
Eryn Wells 2018-11-03 15:15:03 -04:00
parent df0a4ca6fc
commit a771c2622a
14 changed files with 1493 additions and 0 deletions

View file

@ -0,0 +1,45 @@
//
// GameViewController.swift
// Terrain2
//
// Created by Eryn Wells on 11/3/18.
// Copyright © 2018 Eryn Wells. All rights reserved.
//
import Cocoa
import MetalKit
// Our macOS specific view controller
class GameViewController: NSViewController {
var renderer: Renderer!
var mtkView: MTKView!
override func viewDidLoad() {
super.viewDidLoad()
guard let mtkView = self.view as? MTKView else {
print("View attached to GameViewController is not an MTKView")
return
}
// Select the device to render with. We choose the default device
guard let defaultDevice = MTLCreateSystemDefaultDevice() else {
print("Metal is not supported on this device")
return
}
mtkView.device = defaultDevice
guard let newRenderer = Renderer(metalKitView: mtkView) else {
print("Renderer cannot be initialized")
return
}
renderer = newRenderer
renderer.mtkView(mtkView, drawableSizeWillChange: mtkView.drawableSize)
mtkView.delegate = renderer
}
}