Clean up how the buffer is made; flatten the if tree

This commit is contained in:
Eryn Wells 2018-10-13 20:53:08 -07:00
parent a3ae11bfaf
commit dd0306f67a

View file

@ -193,14 +193,18 @@ public class Renderer: NSObject, MTKViewDelegate {
guard let field = delegate?.field else { guard let field = delegate?.field else {
return return
} }
guard let buffer = commandQueue.makeCommandBuffer() else {
return
}
var didEncode = false
buffer.label = "Metaballs Command Buffer"
field.update() field.update()
if let buffer = commandQueue.makeCommandBuffer(), if let renderPass = view.currentRenderPassDescriptor {
let renderPass = view.currentRenderPassDescriptor {
buffer.label = "Metaballs Command Buffer"
var didEncode = false
// Render the per-pixel metaballs // Render the per-pixel metaballs
if let pipeline = pixelPipeline, if let pipeline = pixelPipeline,
let encoder = buffer.makeRenderCommandEncoder(descriptor: renderPass) { let encoder = buffer.makeRenderCommandEncoder(descriptor: renderPass) {
@ -230,6 +234,7 @@ public class Renderer: NSObject, MTKViewDelegate {
encoder.endEncoding() encoder.endEncoding()
didEncode = true didEncode = true
} }
}
if didEncode, let drawable = view.currentDrawable { if didEncode, let drawable = view.currentDrawable {
buffer.present(drawable) buffer.present(drawable)
@ -237,4 +242,3 @@ public class Renderer: NSObject, MTKViewDelegate {
buffer.commit() buffer.commit()
} }
} }
}