@@ -1,4 +1,3 @@
1−// TODO: Create compute context to contain texture and imageBuffer
21// TOOD: Use two compute contexts and double recursion
32
43// TODO: Make graphics have edges only according to graph (instead of being a complete graph)
@@ -60,10 +59,10 @@ class MetalMetaballRenderer: MetaballRenderer {
6059 dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_USER_INTERACTIVE.rawValue), 0)) { () -> Void in
6160
6261 // Render graphics to metal texture
63− self.renderToRenderingTexture()
62+ self.renderToContext(shouldUsePrimaryContext: true)
6463
6564 // Transform metal texture into image
66− let uiimage = self.createImageFromTexture()
65+ let uiimage = self.createImageFromContext(shouldUsePrimaryContext: true)
6766
6867 dispatch_async(dispatch_get_main_queue(), { () -> Void in
6968 // Send image to view
@@ -78,7 +77,7 @@ class MetalMetaballRenderer: MetaballRenderer {
7877 }
7978 }
8079
81− func renderToRenderingTexture() {
80+ func renderToContext(shouldUsePrimaryContext shouldUsePrimaryContext: Bool) {
8281 let width = Int(targetView.width)
8382 let height = Int(targetView.height)
8483
@@ -122,7 +121,7 @@ class MetalMetaballRenderer: MetaballRenderer {
122121 }
123122 }
124123
125− func createImageFromTexture() -> UIImage {
124+ func createImageFromContext(shouldUsePrimaryContext shouldUsePrimaryContext: Bool) -> UIImage {
126125 let texture = computeContext.texture
127126
128127 // Get image info