final float TRAILER_DEPTH = 97;
final float TRAILER_HEIGHT = 33;
+final int MaxCubeHeight = 7;
+final int NumBackTowers = 9;
+
int targetFramerate = 60;
int startMillis, lastMillis;
/**
* 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");
// 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");
// 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);
}
}
context.mouseReleased(mouseX, mouseY);
}
}
-
+
void mouseWheel(int delta) {
boolean wheeled = false;
for (UIContext context : overlays) {