diff --git a/PixelImage.xcworkspace/xcuserdata/vini.xcuserdatad/UserInterfaceState.xcuserstate b/PixelImage.xcworkspace/xcuserdata/vini.xcuserdatad/UserInterfaceState.xcuserstate index da0e278..d00927c 100644 Binary files a/PixelImage.xcworkspace/xcuserdata/vini.xcuserdatad/UserInterfaceState.xcuserstate and b/PixelImage.xcworkspace/xcuserdata/vini.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/PixelImage/shaders.metal b/PixelImage/shaders.metal index dcc9262..a616253 100644 --- a/PixelImage/shaders.metal +++ b/PixelImage/shaders.metal @@ -45,7 +45,7 @@ kernel void float bendClose = 0.0; float bendCloseCount = 0.0; - float red = 0.0; + float ball = 0.0; for (x = 0; x < numberOfMetaballs; x += 1) { float distance1 = metaballDistances[x]; @@ -77,18 +77,17 @@ kernel void bendCloseCount += 1.0; } - red += step(0.4, weightedValue); + ball += step(0.4, weightedValue); - if (weightedLink > greatestLinkWeight) { - greatestLinkWeight = weightedLink; + float metaballValue = step(0.5, weightedValue + weightedLink); + + if (metaballValue > 0.0) { colorSumLink = float3(0.0, 0.0, 0.0); colorSumLink += metaballColors[x] / distance1; colorSumLink += metaballColors[y] / distance2; colorSumLink /= (1 / distance1) + (1 / distance2); } - float metaballValue = step(0.5, weightedValue + weightedLink); - sum += metaballValue; } } @@ -107,7 +106,7 @@ kernel void colorSum = colorSum / colorAccumulation; - if (result > 0.0 && red < 1.0) { + if (result > 0.0 && ball < 1.0) { colorSum = colorSumLink; }