/* CrŽer une animation Quicktime gŽnŽratif avec OpenGL + MovieMaker * (cc) Douglas Edric Stanley * * http://creativecommons.org/licenses/by/2.5/ This work is licensed under the Creative Commons Attribution2.5 License. * To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send a letter to: * Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. */ // importer toutes les bibliothques nŽcessaires import processing.opengl.*; import processing.video.*; // cf. http://www.processing.org/reference/libraries/video/index.html // la taille du sketch size(320, 240, OPENGL); // crŽer le fichier Quicktime avec la taille que nous voulons, ainsi que le format de compression et sa qualitŽ MovieMaker mm = new MovieMaker(this, 320, 240, "movie.mov", 60, MovieMaker.H263, MovieMaker.BEST); // pas de traits sur nos formes noStroke(); // boucler 20 fois for(int frame=0; frame < 20; ++frame) { // effacer le fond background(255); // ajouter un "frame" au movie si on n'est pas la premire image (frame = 0) if (frame != 0) mm.addFrame(); // garder en mŽmoire la perspective actuelle du Sketch pushMatrix(); // changer la position du stylo translate(width/2, height/2); // changer l'orientation du stylo rotateX(radians(random(360))); rotateY(1); // choisir une couleur au hasard fill(random(255), random(255), random(255), 127); // notre dessintrucmachinbidule for(int i=0; i < 20; i++) { // une petite rotation par hasard rotateY( radians(random(20)) ); rotateX( radians(random(20)) ); // le 3D se crŽe toujours ˆ partir de formes 2D rect(0, 100, random(width), random(width)); // enregistrer ce frame dans le fichier Quicktime mm.addFrame(); } // revenir ˆ la perspective prŽcŽdente popMatrix(); } // fermer le fichier Quicktime mm.finish(); // ouvrir le movie aprs tout a (ˆ vous d'amener le popcorn) open(sketchPath("movie.mov"));