Live visual for “Il Domani” — The Tomorrow.
People had access to a Monome and could draw their own shapes.
Written in an 8h rush, this version is still lacking the foreseen beat detection and a decent color management.
The last two columns of the Monome have been sacrificed for the interface: by pressing the buttons in the last column it was possible to choose the actual form, save the whole shape or eventually discard it. The second-last column was just turned off to designate a separation from the “draw area” and the “tools area”.
Thanks to @cyphunk for lending me his precious.
Below a little Processing snippet to add OpenGL fog to the scene (works on 1.5):
import java.nio.FloatBuffer;
import javax.media.opengl.GL;
import processing.opengl.*;
public void setup() {
size(1280, 720, OPENGL);
hint(DISABLE_DEPTH_SORT);
hint(DISABLE_OPENGL_ERROR_REPORT);
hint(ENABLE_OPENGL_4X_SMOOTH);
frameRate(100);
fog(100, 1200, 0.25f, color(0)); //just put the fog in the setup
}
public void draw() {
background(0); //same color of the fog
lights();
translate(width/2, height/2, -500);
rotateX(frameCount*0.011f);
rotateY(frameCount*0.012f);
rotateZ(frameCount*0.013f);
noStroke();
fill(255);
box(300,500,700);
}
void fog(float near, float far, float density, int col) {
float[] fogColor = new float[4];
fogColor[0] = (col >> 16 & 0xFF) / 255.0f; //R
fogColor[1] = (col >> 8 & 0xFF) / 255.0f; //G
fogColor[2] = (col & 0xFF) / 255.0f; //B
fogColor[3] = 1.0f; //A
PGraphicsOpenGL pgl = (PGraphicsOpenGL) g;
GL gl = pgl.beginGL();
gl.glEnable(GL.GL_FOG);
// gl.glFogi (GL.GL_FOG_MODE, GL.GL_EXP); // exp2 FOG
gl.glFogi(GL.GL_FOG_MODE, GL.GL_LINEAR); // Linear FOG
gl.glFogf(GL.GL_FOG_START, near);
gl.glFogf(GL.GL_FOG_END, far);
gl.glFogfv(GL.GL_FOG_COLOR, FloatBuffer.wrap(fogColor));
gl.glFogf(GL.GL_FOG_DENSITY, density);
gl.glHint(GL.GL_FOG_HINT, GL.GL_NICEST);
pgl.endGL();
}























.
































































