Render the terrain
This commit is contained in:
parent
4a236bf6d6
commit
4e4b6b9bca
1 changed files with 7 additions and 2 deletions
|
@ -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)")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue