From 81bb6d78fc8d11ba15a6a31ed26c16c6c8e1a923 Mon Sep 17 00:00:00 2001 From: Connor Bell Date: Wed, 20 Jan 2021 20:27:20 -0500 Subject: [PATCH] Added reset button --- .../UserInterfaceState.xcuserstate | Bin 62665 -> 63352 bytes Physarum/Base.lproj/Main.storyboard | 3 ++- Physarum/Shaders.metal | 4 ++-- Physarum/Simulation.swift | 4 +++- Physarum/ViewController.swift | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Physarum.xcodeproj/project.xcworkspace/xcuserdata/connorbell.xcuserdatad/UserInterfaceState.xcuserstate b/Physarum.xcodeproj/project.xcworkspace/xcuserdata/connorbell.xcuserdatad/UserInterfaceState.xcuserstate index a786c0e8db8be83a8b9bb61776afc68382586e0b..2ea9233db93a681071e0510801f3474a85bd8a62 100644 GIT binary patch delta 27248 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 - + @@ -850,6 +850,7 @@ + diff --git a/Physarum/Shaders.metal b/Physarum/Shaders.metal index 52409b9..b59473b 100644 --- a/Physarum/Shaders.metal +++ b/Physarum/Shaders.metal @@ -288,7 +288,7 @@ kernel void texturePass(texture2d inTexture [[texture(0)] float2 uv = (float2)gid / size; // Non uniform weights to created colored feedback. - float3 weight = mix(float3(0.11111111), float3(0.1111111111, 0.111111, 0.075).grb, saturate(2*length(uv*2-1))); + float3 weight = float3(0.07, 0.1111111111, 0.1); for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { @@ -296,7 +296,7 @@ kernel void texturePass(texture2d inTexture [[texture(0)] col += val * weight; val = inTrailTexture.read((uint2)(int2(gid) + int2(i,j))).rgb; - colTrail += val * weight; + colTrail += val * 0.111111; } } diff --git a/Physarum/Simulation.swift b/Physarum/Simulation.swift index dfe59f6..3cd7bf6 100644 --- a/Physarum/Simulation.swift +++ b/Physarum/Simulation.swift @@ -341,7 +341,9 @@ extension Simulation { } func reset() { - + self.frameNumber = 0 + self.activeParticles = 0 + initParticles() } func startRender() { diff --git a/Physarum/ViewController.swift b/Physarum/ViewController.swift index 1764b69..de5d06b 100644 --- a/Physarum/ViewController.swift +++ b/Physarum/ViewController.swift @@ -62,6 +62,7 @@ class ViewController: NSViewController { hideButton?.action = #selector(hideButtonPressed(_:)) showButton?.action = #selector(showButtonPressed(_:)) renderButton?.action = #selector(renderButtonPressed(_:)) + resetButton?.action = #selector(resetButtonPressed(_:)) } override func viewDidLayout() { @@ -123,4 +124,3 @@ extension ViewController { simulationView?.reset() } } - -- 2.45.2