X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Internals.pde;h=d24f13b3910c364055c769102ad0f5ddfef9aa86;hb=0137237dffbb4ffdfa3a995dd7daee5f1f15c982;hp=c86ff963f2bb1cabb94810a89ab19e9ec49a504e;hpb=e89eda9fd7c6319c6bf71b1ad6b2f5ce0024ebfa;p=SugarCubes.git diff --git a/_Internals.pde b/_Internals.pde index c86ff96..d24f13b 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -39,6 +39,9 @@ final float TRAILER_WIDTH = 240; final float TRAILER_DEPTH = 97; final float TRAILER_HEIGHT = 33; +final int MaxCubeHeight = 7; +final int NumBackTowers = 9; + int targetFramerate = 60; int startMillis, lastMillis; @@ -72,14 +75,31 @@ float eyeR, eyeA, eyeX, eyeY, eyeZ, midX, midY, midZ; /** * Engine construction and initialization. */ -LXPattern[] _patterns(GLucose glucose) { + +LXTransition _transition(GLucose glucose) { + return new DissolveTransition(glucose.lx).setDuration(1000); +} + +LXPattern[] _leftPatterns(GLucose glucose) { LXPattern[] patterns = patterns(glucose); for (LXPattern p : patterns) { - p.setTransition(new DissolveTransition(glucose.lx).setDuration(1000)); + p.setTransition(_transition(glucose)); } return patterns; } +LXPattern[] _rightPatterns(GLucose glucose) { + LXPattern[] patterns = _leftPatterns(glucose); + LXPattern[] rightPatterns = new LXPattern[patterns.length+1]; + int i = 0; + rightPatterns[i++] = new BlankPattern(glucose).setTransition(_transition(glucose)); + for (LXPattern p : patterns) { + rightPatterns[i++] = p; + } + return rightPatterns; +} + + void logTime(String evt) { int now = millis(); println(evt + ": " + (now - lastMillis) + "ms"); @@ -108,8 +128,8 @@ void setup() { // Set the patterns Engine engine = lx.engine; - engine.setPatterns(patterns = _patterns(glucose)); - engine.addDeck(_patterns(glucose)); + engine.setPatterns(patterns = _leftPatterns(glucose)); + engine.addDeck(_rightPatterns(glucose)); logTime("Built patterns"); glucose.setTransitions(transitions(glucose)); logTime("Built transitions"); @@ -242,23 +262,23 @@ void draw() { // Send output colors color[] sendColors = glucose.getColors(); if (debugMode) { - debugUI.maskColors(colors); + debugUI.maskColors(sendColors); } // Gamma correction here. Apply a cubic to the brightness // for better representation of dynamic range - for (int i = 0; i < colors.length; ++i) { - float b = brightness(colors[i]) / 100.f; - colors[i] = color( - hue(colors[i]), - saturation(colors[i]), + for (int i = 0; i < sendColors.length; ++i) { + float b = brightness(sendColors[i]) / 100.f; + sendColors[i] = color( + hue(sendColors[i]), + saturation(sendColors[i]), (b*b*b) * 100. ); } // TODO(mcslee): move into GLucose engine for (PandaDriver p : pandaBoards) { - p.send(colors); + p.send(sendColors); } } @@ -491,8 +511,8 @@ void mouseReleased() { context.mouseReleased(mouseX, mouseY); } } - -void mouseWheel(int delta) { + +void mouseWheel(int delta) {delta*=20; boolean wheeled = false; for (UIContext context : overlays) { wheeled |= context.mouseWheel(mouseX, mouseY, delta);