Render the terrain

This commit is contained in:
Eryn Wells 2018-11-10 17:08:24 -05:00
parent 4a236bf6d6
commit 4e4b6b9bca

View file

@ -159,7 +159,12 @@ class Renderer: NSObject, MTKViewDelegate {
private func updateGameState() { private func updateGameState() {
/// Update any game state before rendering /// Update any game state before rendering
if iterateTerrainAlgorithm { if iterateTerrainAlgorithm {
if terrain.generator.needsGPU {
terrain.generator.updateUniforms() terrain.generator.updateUniforms()
} else {
print("Rendering terrain...")
terrain.generator.render()
}
} }
uniforms[0].projectionMatrix = projectionMatrix uniforms[0].projectionMatrix = projectionMatrix
@ -193,7 +198,7 @@ class Renderer: NSObject, MTKViewDelegate {
self.updateGameState() self.updateGameState()
if iterateTerrainAlgorithm, let computeEncoder = commandBuffer.makeComputeCommandEncoder() { if iterateTerrainAlgorithm && !terrain.generator.needsGPU, let computeEncoder = commandBuffer.makeComputeCommandEncoder() {
print("Scheduling terrain generator iteration with \(terrain.generator.name) algorithm") print("Scheduling terrain generator iteration with \(terrain.generator.name) algorithm")
computeEncoder.label = "Generator Encoder" computeEncoder.label = "Generator Encoder"
computeEncoder.pushDebugGroup("Generate Terrain: \(terrain.generator.name)") computeEncoder.pushDebugGroup("Generate Terrain: \(terrain.generator.name)")