X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TobySegaran.pde;h=b41c34c49e92536c9dac5261f4f098382ee7f9be;hb=64d16e0750c86afb61184085085203658027639c;hp=6b72d30349e09522d082803b2416ce544f7218ff;hpb=4ad0649d4c40d15ad121611ce2afa1c33d870df7;p=SugarCubes.git diff --git a/TobySegaran.pde b/TobySegaran.pde index 6b72d30..b41c34c 100644 --- a/TobySegaran.pde +++ b/TobySegaran.pde @@ -2,19 +2,24 @@ class WarmPlasma extends SCPattern { private int pos = 0; private float satu = 100; private float speed = 1; + private float glitch = 0; BasicParameter saturationParameter = new BasicParameter("SATU", 1.0); BasicParameter speedParameter = new BasicParameter("SPEED", 0.1); + BasicParameter glitchParameter = new BasicParameter("GLITCH", 0.0); public WarmPlasma(GLucose glucose) { super(glucose); addParameter(saturationParameter); addParameter(speedParameter); + addParameter(glitchParameter); } public void onParameterChanged(LXParameter parameter) { if (parameter == saturationParameter) { satu = 100*parameter.getValuef(); } else if (parameter == speedParameter) { speed = 10*parameter.getValuef(); + } else if (parameter == glitchParameter) { + glitch = parameter.getValuef(); } } @@ -27,12 +32,16 @@ class WarmPlasma extends SCPattern { float bv = 100; colors[p.index] = color((hv+2)*25, satu, bv); } + if (random(1.0)= MAX_INT-1) pos=0; + if (pos >= MAX_INT-1) pos=0; } } -class FireTest extends SCPattern { +// This is very much a work in progress. Trying to get a flame effect. +class FireEffect extends SCPattern { private float[][] intensity; private float hotspot; private float decay = 0.3; @@ -40,7 +49,7 @@ class FireTest extends SCPattern { private int ym; BasicParameter decayParameter = new BasicParameter("DECAY", 0.3); - public FireTest(GLucose glucose) { + public FireEffect(GLucose glucose) { super(glucose); xm = int(model.xMax); ym = int(model.yMax); @@ -73,9 +82,10 @@ class FireTest extends SCPattern { } for (Point p : model.points) { - int x = (int(p.fx)+int(p.fz))%xm; - int y = min(ym-int(p.fy),ym-1); + int x = max(0,(int(p.fx)+int(p.fz))%xm); + int y = constrain(ym-int(p.fy),0,ym-1); colors[p.index] = flameColor(intensity[x][y]); } } } +